Mam program, gdy wprowadzam numer, który pokazuje jakąś komendę, a kiedy wstawiam numer 4, chcę go wydrukować i zakończyć program. Wiem, że jest sposób na użycie przerwy, ale mój nauczyciel nie chce tego używać. Czy jest jakiś inny sposób na zakończenie tego, gdy wpiszesz cyfrę 4? Z góry dziękuję: PS: właśnie nowy, szczuplejszy do Pythona.

while True  :
     num= int(input("enter : "))

    if num == 1:
       print("encrypt text")
    elif num == 2 :
        print("decrypt text")
    elif num == 3 :
        print("Brute force decrypt")
    elif num ==4 :
        print("goodbye")
    else :
            print('false')
0
Shay 2 kwiecień 2020, 12:55

5 odpowiedzi

Najlepsza odpowiedź

1. Użyj zmiennej w warunku while:

num = 0
while num != 4:
    num = int(input("enter : "))    
    ... your other code

2. Zgłoś wyjątek:

try:
    while True:
        num = int(input("enter : "))    
        ... your other code
        elif num == 4:
            raise StopIteration 
        ...
except StopIteration as e:
     print('goodbye')

3. Umieść go w funkcji i zwróć:

def main():
    while True:
        num = int(input("enter : "))    
        ... your other code
        elif num == 4:
            return
        ...
main()
print('goodbye')

4. Wyjdź z programu:

while True:
    num = int(input("enter : "))
    ... your other code
    elif num ==4 :
        print("goodbye")
    
        # Do any of the following
        exit()
        quit()
        raise SystemExit
        sys.exit() # requires "import sys"
    ...
3
Community 20 czerwiec 2020, 09:12

Prostym sposobem może być:

number = 0
while number != 4:
    ...
2
Serge Ballesta 2 kwiecień 2020, 10:03

Do wyjścia:

import sys
sys.exit(0)

Jeśli chcesz przerwać zagnieżdżone pętle, możesz umieścić swój kod wewnątrz funkcji, a następnie użyć „return None” zamiast „break”

0
m8factorial 2 kwiecień 2020, 09:58

A = True while a: num = int (input ("enter:"))

if num == 1:
   print("encrypt text")
elif num == 2 :
    print("decrypt text")
elif num == 3 :
    print("Brute force decrypt")
elif num ==4 :
    print("goodbye")
    a=False
0
mani kandan 2 kwiecień 2020, 10:09

Cóż, jestem też nowy na platformie Pythona, ale mam odpowiedź na Twoje pytanie. Możesz użyć:

import sys          
sys.exit(0)    

Cóż, mam nadzieję, że to ci pomoże. ☺

0
Fredrik A. 23 kwiecień 2020, 22:36