Witam, mam taki program, który ma kończyć swoją pracę po wprowadzeniu niepoprawnych danych ma kończyć swoją pracę i drukować odpowiedni komunikat. Jak użyć takiego kodu: import sys sys.exit(0) ? Tzn. gdzie go umieścić itp?
0
0
Omg.
import sys
na początku, a
sys.exit(0)
jak stwierdzisz, że dane są niepoprawne.
0
Wszystko jest oczywiste jak się wie, ja zaczynam dopiero, więc proszę o większą wyrozumiałość, gdzie mam wstawić te kody gdy mam takie coś?
try:
a=float(input('podaj liczbę a\n'))
b=float(input('podaj liczbę b\n'))
except (ValueError, NameError):
print('maja byc liczby')
1
except (ValueError, NameError):
print('maja byc liczby')
sys.exit(0)
0
no ok program drukuje co potrzeba, ale mimo to wyskakuje taki błąd:
Traceback (most recent call last):
File "/home/ja/ja/z.py", line 8, in <module>
sys.exit(0)
SystemExit: 0
1
Ja bym to zrobił inaczej, bo sys.exit jest dość brutalne ;) Zrobiłbym tak:
def main():
#tutaj cały kod programu
main()
A w miejscu gdzie chcesz "zakończyć działanie" dałbym zwykłe return.
edit: tak btw jest to też metoda optymalizacji kodu, bo dostep do zmiennych lokalnych jest szybszy niz do globalnych w efekcie taki kod wykona sie szybciej niż gdyby wszystko było wepchnięte w globalny scope.