Python - kończenie pracy programu

Python - kończenie pracy programu
0

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

Omg.

Kopiuj
import sys

na początku, a

Kopiuj
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ś?

Kopiuj
try:
    a=float(input('podaj liczbę a\n'))
    b=float(input('podaj liczbę b\n'))
except (ValueError, NameError):
    print('maja byc liczby')
1
Kopiuj
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:

Kopiuj
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.