lisa冲冲冲 发表于 2022-5-1 15:51:30

while用法

temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
# not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase
while not isinstance(temp, int):
    print("抱歉,输入不合法,", end='')
    temp = input("请输入一个整数:")

while在这个语句中是什么意思啊

wp231957 发表于 2022-5-2 08:04:00

如果输入的不是整型数字,那么就一直循环输入

于能能 发表于 2022-5-2 09:40:01

这是死循环了吧,感觉终止不了呢

__add__ 发表于 2022-5-2 21:45:49


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

小凯2013 发表于 2022-5-3 22:12:14


try:
    temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
except:
    print(‘输入有误’)
# not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase
while not isinstance(temp, int):
    try:
      temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
    except:
      print("抱歉,输入不合法,", end='')#@lisa冲冲冲 记得的代码要用代码格式公布!!!
while在这里的意思就是:如果用户输入错误,就让用户重新输入。

kc1763 发表于 2022-5-3 22:21:33

同问

Twilight6 发表于 2022-5-14 20:28:50


这里代码的理想作用是判断 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]
查看完整版本: while用法