How do I use sys.exit()?

How do I use sys.exit() in this while loop?

The user inputs 3 sides of a triangle. If it is a right angle Pythagorean triangle, then it prints.

If the user enters "0", the program ends.

Also, is there a better way to write the infinite while loop besides using count = 0 and never incrementing it?

def pythagoreanTriple():
    count = 0
    print("input 3 sides of a triangle")
    print("or enter 0 to quit")
    while count < 1:
        sides = []
        for i in range(0, 3):
            side = int(input("Input a side: "))
            sides.append(side)
        sides = sorted(sides)
        if sides[0] ** 2 + sides[1] ** 2 == sides[2] ** 2:
            print('That is a Pythagorean Triple!')
        else:
            print('That is not a Pythagorean Triple...')
    else:
        sys.exit(0)

pythagoreanTriple()


Asked by: Richard530 | Posted: 27-01-2022






Answer 1

You could wrap the snippet in an infinite loop and break only if the cond. is met:

def pythagoreanTriple():
    while True:
        userInp = input("Enter 1 to continue 0 to exit: ")
        if userInp.lower() == "0":
            break
        sides = []
        for i in range(0, 3):
            side = int(input("Input a side: "))
            sides.append(side)
        sides = sorted(sides)
        if sides[0] ** 2 + sides[1] ** 2 == sides[2] ** 2:
            print('That is a Pythagorean Triple!')
        else:
            print('That is not a Pythagorean Triple...')

pythagoreanTriple()

OUTPUT:

Enter 1 to continue 0 to exit: 1
Input a side: 5
Input a side: 5
Input a side: 10
That is not a Pythagorean Triple...
Enter 1 to continue 0 to exit: 0

Process finished with exit code 0

Answered by: Emily239 | Posted: 28-02-2022



Answer 2

You need to put your sys.exit() inside your while loop, or it will never stop.

Moreover, in order to have an infinite loop, mostly people use while True.

Answered by: Leonardo152 | Posted: 28-02-2022



Similar questions

Python sys.exit() help?

I am working in Python and am trying to have a line of code execute and after it executes I am calling sys.exit() to have the script itself "exit." However, it seems that sys.exit() is executing before the line of code above it executes. Below is the code I am trying to implement: if something == True: self.redirect('http://www.google.com/') sys.exit() The...


python - Issue with sys.exit() in pygame

I am learning to use Pygame, and when I use sys.exit(), I run into a problem. Here is the code: import pygame, sys,os from pygame.locals import * pygame.init() window = pygame.display.set_mode((468, 60)) pygame.display.set_caption('Game') screen = pygame.display.get_surface() file_name = os.path.join("data","image.bmp") surface = pygame.image.load(file_name) screen.blit(surface, (0,0)...


How to use sys.exit() in Python

player_input = '' # This has to be initialized for the loop while player_input != 0: player_input = str(input('Roll or quit (r or q)')) if player_input == q: # This will break the loop if the player decides to quit print("Now let's see if I can beat your score of", player) break if player_input != r: print('invalid choice, try again') if player_input ==r: roll...


python - Is it possible for a unit test to assert that a method calls sys.exit()?

I have a Python 2.7 method that sometimes calls sys.exit(1) Is it possible to make a unit test that verifies this line of code is called when the right conditions are met?


linux - Python Daemon Thread Clean Up Logic on Abrupt sys.exit()

Using Linux and Python 2.7.6, I have a script that uploads lots of files at one time. I am using multi-threading with the Queue and Threading modules. I implemented a handler for SIGINT to stop the script if the user hits ctrl-C. I prefer to use daemon threads so I don't have to clear the queue, which would require alot of re-writing code to make the SIGINT handler have access to the Queue object since the handler...


python - Try and Except catch all errors, except for sys.exit()

I have created a function, but errors could pop up. That is why I want to use exceptions to generalize all errors into the same message. However, this function contains multiple sys.exit() calls. As a result, I would like to have my code jump into the except handler if an error was raised, unless it is caused by sys.exit(). How do I do this? try: myF...


python script doesn't stop with sys.exit()

In my Program I have a GUI with a progressbar. The value of the progressbar is a variable of a other script so I created an update function that refreshes the GUI so I have a moving progressbar. def update(lblhowfar,bar,window,Zeitraum,auswahl,testprogress):# update function to refresh the progress bar and the percentage label while rd.filtering_done==False: Progress=int(rd.Zähler/rd.Nenner) ...


python - I can't catch sys.exit()

I want to prevent a python program to quit when it calls sys.exit, but the following solution doesn't work: Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec 7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32 &gt;&gt;&gt; import sys &gt;&gt;&gt; try: ... sys.exit() ... except SystemExit: ... print('asd') ... Process finished with exit code 0 I've also tried BaseExcep...


python - using sys.exit() and heroku threw an error

2022-02-21T01:07:54.352381+00:00 heroku[router]: at=error code=H14 desc=&quot;No web processes running&quot; method=GET path=&quot;/&quot; host=_botname.herokuapp.com request_id=88df74f6-a5a1-4ee9-a0a5-c98a22a60949 fwd=&quot;115.66.143.26&quot; dyno= connect= service= status=503 bytes= protocol=https 2022-02-21T01:07:54.988568+00:00 heroku[router]: at=error code=H14 desc=&quot;No web processes running&quot; method=...


python - Unittest causing sys.exit()

No matter what I do sys.exit() is called by unittest, even the most trivial examples. I can't tell if my install is messed up or what is going on. IDLE 1.2.2 ==== No Subprocess ==== &gt;&gt;&gt; import unittest &gt;&gt;&gt; &gt;&gt;&gt; class Test(unittest.TestCase): def testA(self): a = 1 self.assertEqual(a,1) &gt;&gt;&gt; unittest.main() option -n not recognized Usa...


python - Handle sys.exit() in cherrypy service

When you start/stop a python cherrypy service (compiled with py2exe), this works fine When I get a sys.exit() call (from my error handler), cherrypy quits, but the service remains hanging. Code: import cherrypy import win32serviceutil import win32service import sys SERVICE = None class HelloWorld: """ Sample request handler class. """ def __init__(self): self.iVal = ...


linux - How to bypass the 0-255 range limit for sys.exit() in python?

In python (on a Linux system), I'm launching a command using os.system() and retrieving the return code. If that return code is different from 0, I would like to make the program exit with that same return code. So I wrote: ret = os.system(cmd) if ret != 0: print "exit with status %s" % ret sys.exit(ret) When the return code is lower than 256, it works fine, but when it'...


Python sys.exit() help?

I am working in Python and am trying to have a line of code execute and after it executes I am calling sys.exit() to have the script itself "exit." However, it seems that sys.exit() is executing before the line of code above it executes. Below is the code I am trying to implement: if something == True: self.redirect('http://www.google.com/') sys.exit() The...


mocking - How to get around "sys.exit()" in python nosetest?

It seems that python nosetest will quit when encountered sys.exit(), and mocking of this builtin doesn't work.


import - python: Importing scipy.io seems to prevent sys.exit() to work properly

Under Windows, executing the following Python script I get an ERRORLEVEL of 0 instead of the expected 2. import sys import scipy.io sys.exit(2) If I remove the import scipy.io, I got the correct ERRORLEVEL of 2... Any idea why importing scipy.io cause such an issue? PS: windows 7, python 2.72, scipy 0.10.1 Calling help(sys.exit) just before the sys.exit call return...


python - Issue with sys.exit() in pygame

I am learning to use Pygame, and when I use sys.exit(), I run into a problem. Here is the code: import pygame, sys,os from pygame.locals import * pygame.init() window = pygame.display.set_mode((468, 60)) pygame.display.set_caption('Game') screen = pygame.display.get_surface() file_name = os.path.join("data","image.bmp") surface = pygame.image.load(file_name) screen.blit(surface, (0,0)...


python - Why are the methods sys.exit(), exit(), raise SystemExit not working?

I need an alternative to kill the python script while inside a thread function. My intention is killing the server when the client enters a 0... Is this not working because the threads haven't been terminated? Here is my code: socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM); print 'Socket created' try: socket.bind((HOST, PORT)) except socket.error, message: print 'Bind statement failed. ...


How to use sys.exit() in Python

player_input = '' # This has to be initialized for the loop while player_input != 0: player_input = str(input('Roll or quit (r or q)')) if player_input == q: # This will break the loop if the player decides to quit print("Now let's see if I can beat your score of", player) break if player_input != r: print('invalid choice, try again') if player_input ==r: roll...


python - Is it possible for a unit test to assert that a method calls sys.exit()?

I have a Python 2.7 method that sometimes calls sys.exit(1) Is it possible to make a unit test that verifies this line of code is called when the right conditions are met?






Still can't find your answer? Check out these communities...



PySlackers | Full Stack Python | NHS Python | Pythonist Cafe | Hacker Earth | Discord Python



top