Ich bekomme immer einen Fehler, wenn ich etwas anderes als eine ganze Zahl eingeben. Ich möchte, dass die Schleife wiederholt wird, wenn "enter" gedrückt wird oder ein Buchstabe eingegeben wird. Ich möchte dem Benutzer die Fehlermeldung geben, die ich in die else-Anweisung eingegeben habe, und zur Eingabe der Eingabe zurückkehren. Vielen Dank.Warum gibt Integer-Eingabe Fehler ungültiges Literal für Int()
pizza_high = 0
while not repeat:
pizza_high = int(input('How many pizzas would you like to order:'))
if pizza_high != int:
repeat = True
else:
print('**ERROR** Please use whole numbers only!!')
pizza_high = 0
for x in range(0, pizza_high):
print('pizzas')
Dies ist die Eingabe, wenn „5“ gewählt wurde, funktioniert es einwandfrei.
How many pizzas would you like to order: 5
pizzas
pizzas
pizzas
pizzas
pizzas
Allerdings, wenn ich getroffen oder in einem Brief setzen eingeben es gibt diesem Fehler
How many pizzas would you like to order: t
ValueError: invalid literal for int() with base 10: ';'
Ihr Code kann nicht einmal arbeiten, da 'pizza_high' zu einem str auf dem' pizza_high = Eingang gesetzt ist (...) ', einen Fehler in der' range' Anweisung verursacht. 'input' transformiert sein Ergebnis nicht magisch in eine Ganzzahl oder andere Arten. – Evert
Und natürlich erhalten Sie einen (Wert) Fehler, wenn Sie versuchen, eine Zeichenfolge, die keine Zahl ist, in eine Zahl zu konvertieren. versuchen-außer kann da helfen. – Evert
Ja, ich habe es nicht richtig kopiert. Die Ausgabe mit 5 funktioniert, wenn int (Eingabe) verwendet wird, gibt aber immer noch einen Fehler mit int (Eingabe), wenn ein Buchstabe ausgewählt ist. Ich will, dass es meine Fehlermeldung ausgibt und nicht ValueError out –