【发布时间】:2016-11-09 01:37:42
【问题描述】:
我如何给出一个条件,例如;如果 x 不是整数 print("type an integer")
【问题讨论】:
标签: python if-statement types conditional type-conversion
我如何给出一个条件,例如;如果 x 不是整数 print("type an integer")
【问题讨论】:
标签: python if-statement types conditional type-conversion
使用您的示例代码,最好的办法是捕获ValueError 并重试:
def get_int():
try:
return int(input('Type an integer:'))
except ValueError:
print("Not an int. Try again.")
return get_int()
原因是因为如果用户输入了一个非整数字符串,那么在您有机会检查类型之前就会引发异常,因此isinstance 在这里并不能真正帮助您。
【讨论】:
一种方法是将值转换为并处理异常:
try:
parsed = int(user_input)
print ("int")
except:
print ("not int")
【讨论】: