Python while条件下的错误结果

Python while条件下的错误结果,python,while-loop,Python,While Loop,我使用Python并在条件满足时首先编写: target = 9 guess = 0 limit = 3 while guess<=limit: guess = int(input('guess: ')) guess +=1 if guess == target: print("you win") break else: print("you fail") 但当我输入9时,我得到了一个错误的答案: guess: 1 gues

我使用Python并在条件满足时首先编写:

target = 9
guess = 0
limit = 3
while guess<=limit:
    guess = int(input('guess: '))
    guess +=1
    if guess == target:
        print("you win")
        break
else:
    print("you fail")
但当我输入9时,我得到了一个错误的答案:

guess: 1
guess: 9
you fail
有人能告诉我为什么我在这里没有得到“你赢了”?我在格式中找不到错误

为什么我在使用
guess
时只能输入两次猜测?

您的guess变量是全局变量,因为您正在初始化用户输入的新值,如果用户输入的值大于limit,则循环停止。所以我更改了全局变量的名称

target = 9
count = 0
limit = 3
while count<limit:
    guess = int(input('guess: '))
    if guess == target:
       print("you win")
       break
    else:
       print("you fail")
    count+=1
target=9
计数=0
极限=3

count当您使用
guess
作为变量来保存输入和计数器时,当您输入
9
时,您将添加
1
,这使得
guess==10
,这是错误的,但是
guess
不再是
还请注意,您的问题实际上与PyCharm无关。这就像问一个关于html网页的问题,然后说你在记事本中编写了html,这真的不相关。明白吗。感谢您的清晰解释。应该是
当count的初始值为0时,它将运行3次!应该添加一些解释来补充答案中的代码。哦,我想,这个简单的代码不需要太多解释。至少解释一下OP的代码出了什么问题。只有代码的答案相当肤浅
target = 9
count = 0
limit = 3
while count<limit:
    guess = int(input('guess: '))
    if guess == target:
       print("you win")
       break
    else:
       print("you fail")
    count+=1