Hvordan kontrollerer jeg, om en brugers input af en streng er et tal (f.eks. -1
, 0
, 1
osv.)?
user_input = input("Enter something:")
if type(user_input) == int:
print("Is a number")
else:
print("Not a number")
Ovenstående vil ikke fungere, da input
altid returnerer en streng.
Det virker tilsyneladende ikke for negative værdier, men det virker for positive værdier. Beklager, jeg har selv lige lært om dette for et par timer siden, da jeg først for nylig er begyndt at gå ind i Python.
Brug isdigit()
if userinput.isdigit():
#do stuff
For Python 3 fungerer følgende.
userInput = 0
while True:
try:
userInput = int(input("Enter something: "))
except ValueError:
print("Not an integer!")
continue
else:
print("Yes an integer!")
break