为何 isinstance
temp = input(" 不妨猜一下小甲鱼现在心里想的是哪个数字: ")
while not isinstance(temp, int):
print(" 抱歉,输入不合法, ", end='')
temp = input(" 请输入一个整数: ")
为何输入什么数字他都是 在while循环当中
temp = input(" 不妨猜一下小甲鱼现在心里想的是哪个数字: ")
while not isinstance(temp, int):
print(" 抱歉,输入不合法, ", end='')
temp = input(" 请输入一个整数: ")
为何输入什么数字他都是 在while循环当中
2019-05-24
在python3.x中raw_input( )和input( )进行了整合,去除了raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
所以,不管你输入的什么,isinstance都会返回false,然后再not变为true.那么永远是死循环。故应该将输入的数据进行转换。
参考代码:
temp = eval(input(" 不妨猜一下小甲鱼现在心里想的是哪个数字: "))
while not isinstance(temp, int):
print(" 抱歉,输入不合法, ", end='')
temp = input(" 请输入一个整数: ")
举报