Come faccio a dare una condizione in cui per esempio; se x non è una stampa intera ("digita un numero intero")
risposte:
0 per risposta № 1Con il tuo codice di esempio, la soluzione migliore è prendere il ValueError
e prova ancora:
def get_int():
try:
return int(input("Type an integer:"))
except ValueError:
print("Not an int. Try again.")
return get_int()
Il motivo è perché se l'utente immette una stringa non intera, l'eccezione viene sollevata prima di avere la possibilità di controllare il tipo, quindi isinstance
non ti aiuta davvero troppo qui
0 per risposta № 2
Un modo consisteva nel trasmettere il valore in e gestire l'eccezione:
try:
parsed = int(user_input)
print ("int")
except:
print ("not int")