In Python bei input int abfragen?
Bei
test1 = input('Gebe eine Zahl ein:' )
test2 = 2000 - test1
print(test2)
kommt dass mit einer string nicht gerechnet werden kann. Was kann ich ändern, dass eine int abgefragt wird?
2 Antworten
Das was du von der input()-Funktion erhältst ist ein String. Strings sind quasi Text. Die eingegebene Zahl ist also zunächst als String/Text vorhanden, noch nicht als Zahl, mit der man dann weiterrechnen könnte.
Bevor du mit der eingegeben Zahl rechnen kannst, musst du den String zunächst in eine Zahl umwandeln. Wenn du eine ganze Zahl als Eingabe erwartest, kannst du int() benutzen, für Gleitkommazahlen kannst du float() benutzen.
Probiere dementsprechend...
test1 = int(input('Gebe eine Zahl ein:'))
test2 = 2000 - test1
print(test2)
Oder...
test_eingabe = input('Gebe eine Zahl ein:')
test1 = int(test_eingabe)
test2 = 2000 - test1
print(test2)
Bzw. würde ich das evtl. so lösen...
while True:
try:
test1 = int(input("Gib eine ganze Zahl ein: "))
except ValueError:
print("Das ist keine ganze Zahl gewesen.")
else:
break
test2 = 2000 - test1
print(test2)
Kenn mich nicht mit python aus aber ich glaube der Rückgabewert von input() ist ein string. Also wenn du da 3 reinschreibst kommt nicht 3 als int sondern "3" als string raus. Ich glaube wenn du dann einfach int(input("gebe eine Zahl ein:")) schreibst wird das Ergebnis von der input() Funktion direkt in eine int konvertiert und es müsste klappen