Bei Zahleneingabe Texte vermeiden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
RedHomes
User
Beiträge: 1
Registriert: Donnerstag 16. November 2017, 17:54

Guten Tag,

wenn man im Code festgelegt hat, dass eine Zahl per inputbefehl eingegeben werden kann, wie kann man vermeiden, dass das gesamte Programm stoppt, wenn man z.B. ausversehen auf einen Buchstaben kommt und Enter drückt?
narpfel
User
Beiträge: 644
Registriert: Freitag 20. Oktober 2017, 16:10

Moin,

das Stichwort, das du suchst, ist exception handling.
dannyboy385
User
Beiträge: 39
Registriert: Freitag 27. November 2015, 21:24

Nun ja das Programm wird dir dann denke ich einen ValueError schmeisen. wenn du vor dem abzufragenden wert int(bla) anfügst und das ganze in eine :

Code: Alles auswählen

try:
    a = int(input("Zahl eingeben"))
except ValueError:
    print ("Das war keine Zahl") 
Benutzeravatar
pixewakb
User
Beiträge: 1411
Registriert: Sonntag 24. April 2011, 19:43

Hilft das?

Code: Alles auswählen

while True:
    eingabe = input("Bitte geben Sie eine ganze Zahl ein: ")

    try:
        variable = int(eingabe)
        break
    except ValueError:
        print("\nIhre Eingabe '{}' ist keine ganze Zahl.".format(eingabe))
    
print("\nSie haben eingegeben: {}".format(variable))
print("Das Quadrat davon ist: {}".format(variable ** 2))
Antworten