Sylvia.ending 发表于 2020-5-5 13:10:40

关于while循环

temp=input('say one number')
guess=int(temp)
while guess!=8:
    temp=input('try again')
    guess=int(temp)
    if guess==8:
      print('you got it,girl')
    else:
      if guess>8:
            print('try smaller one')
      else:
            print('try bigger one')
print('good bye')
   代码为以上,为何当我第一次输入8的时候,直接显示的就是goodbye了;但是当我尝试其他答案之后,再输入8,结果又和我想的一样。所以我也不知道哪里逻辑错了!

qiuyouzhi 发表于 2020-5-5 13:16:40

本帖最后由 qiuyouzhi 于 2020-5-5 13:18 编辑

因为循环条件就是guess不等于8,你直接等于8就不会进入循环了。
可以改成这样:
while True:
    temp=input('say one number')
    guess=int(temp)
    if guess==8:
      print('you got it,girl')
      break
    else:
      if guess>8:
            print('try smaller one')
      else:
            print('try bigger one')
print('good bye')

老兵hb 发表于 2020-5-5 13:19:15

本帖最后由 老兵hb 于 2020-5-5 13:21 编辑

输入8,不进while循环体;
输入其他,进while循环体;

不等于8的条件下,还有个如果等于8,有点乱。

liuzhengyuan 发表于 2020-5-5 13:48:47

8 是正确答案,所以就 goodbye 了

Sylvia.ending 发表于 2020-5-5 14:43:39

qiuyouzhi 发表于 2020-5-5 13:16
因为循环条件就是guess不等于8,你直接等于8就不会进入循环了。
可以改成这样:

哇,谢谢!这样break也用上了。更完美。感谢!
页: [1]
查看完整版本: 关于while循环