while用法
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")# not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase
while not isinstance(temp, int):
print("抱歉,输入不合法,", end='')
temp = input("请输入一个整数:")
while在这个语句中是什么意思啊 如果输入的不是整型数字,那么就一直循环输入 这是死循环了吧,感觉终止不了呢
try:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
except:
print(输入有误)
# not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase
while not isinstance(temp, int):
try:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
except:
print("抱歉,输入不合法,", end='')
你试试这个我修改过的代码,看看行不行(不改还真没法终止,当然神奇的Ctrl+C例外{:10_256:})
注:while是当后面的条件返回值为True,或用bool检测为True的(有些不行),则一直执行,否则结束循环
注:isinstance是判断第一个参数是否属于第二个参数,是返回True,否返回False
try:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
except:
print(‘输入有误’)
# not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase
while not isinstance(temp, int):
try:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
except:
print("抱歉,输入不合法,", end='')#@lisa冲冲冲 记得的代码要用代码格式公布!!!
while在这里的意思就是:如果用户输入错误,就让用户重新输入。 同问
这里代码的理想作用是判断 temp 输入是否合法,但是这段代码是错误的
因为 input 函数返回的永远是字符串,而 isinstance 函数判断 temp 是否为 int 整型 就永不成立
即一定返回 False ,但是因为前面进行了 not 取反,那么就会导致 while 循环条件必成立,导致死循环
所以不能使用 isinstance 函数,你可以使用字符串方法 indigit() 函数来判断字符串是否是纯数字字符串
参考代码:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
while not temp.isdigit():
print("抱歉,输入不合法,", end='')
temp = input("请输入一个整数:")
temp = int(temp)
print("你输入的整数为:", temp)
页:
[1]