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.

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1