mwpython 发表于 2022-10-26 15:55:31

为什么我用了while循环就形成了死循环

各位大神 我的运行环境是PyCharm Community输入9就形成了无线死循环
在第一个print("猜错了")
             break; 或者 加         continue;都是还是照样形成死循环

txt = input("猜下我喜欢的数字:")
Guess = int(txt)
while Guess != 8:
    if Guess > 8:
      print("猜错了")
    else:
      print("猜小了")

      txt = input("请再猜一次")
      Guess = int(txt)
print("恭喜你猜对了!")

求解

jackz007 发表于 2022-10-26 15:59:29

本帖最后由 jackz007 于 2022-10-26 16:01 编辑

txt = input("猜下我喜欢的数字:")
Guess = int(txt)
while Guess != 8:
    if Guess > 8:
      print("猜错了")
    else:
      print("猜小了")

    txt = input("请再猜一次")   # 缩进位置有错
    Guess = int(txt)             # 缩进位置有错
print("恭喜你猜对了!")
      键盘输入在循环中应该得到无条件执行

mwpython 发表于 2022-10-26 16:00:30

@jackz007

那就不要用缩进吗?

tommyyu 发表于 2022-10-26 16:01:47

mwpython 发表于 2022-10-26 16:00
@jackz007

那就不要用缩进吗?

你那里多了一个缩进,导致 Python 认为那两句代码是 else 里面的语句

jackz007 发表于 2022-10-26 16:02:18

mwpython 发表于 2022-10-26 16:00
@jackz007

那就不要用缩进吗?

         2 楼的代码已经改过了,直接拷贝粘贴保存文件运行。

mwpython 发表于 2022-10-26 16:03:05

正确的应该怎么改 求解!

mwpython 发表于 2022-10-26 16:03:58

txt = input("猜下我喜欢的数字:")
Guess = int(txt)
while Guess != 8:
    if Guess > 8:
      print("猜错了")
      txt = input("请再猜一次")
      Guess = int(txt)
    else:
      print("猜小了")


print("恭喜你猜对了!")

mwpython 发表于 2022-10-26 16:08:17

jackz007 发表于 2022-10-26 16:02
2 楼的代码已经改过了,直接拷贝粘贴保存文件运行。

谢谢老师!

jackz007 发表于 2022-10-26 16:16:45

本帖最后由 jackz007 于 2022-10-26 16:40 编辑

mwpython 发表于 2022-10-26 16:08
谢谢老师!

      你还是把 input() 放入了 if,如果 Guess < 8 依然是死循环,给你说了半天,不可以把 input() 放进任何属于 if 才执行的语句。

      怎么改?2 楼的代码就是最正确的答案。

mwpython 发表于 2022-10-26 17:43:34

jackz007 发表于 2022-10-26 16:16
你还是把 input() 放入了 if,如果 Guess < 8 依然是死循环,给你说了半天,不可以把 input()...

好的 我会注意的 老师 麻烦您了
页: [1]
查看完整版本: 为什么我用了while循环就形成了死循环