gpt4 book ai didi

python - 数字游戏 : Can't Win: Won't print: You Win, 但结束脚本

转载 作者:行者123 更新时间:2023-11-30 22:36:59 27 4
gpt4 key购买 nike

我的问题是,当我得到正确的数字时,python 脚本结束,但不打印:你赢了!

import random 

number = random.randint(1,100) # This part works fine

guess = input('Guess a number between 1 and 100: ') #Asks question
guess = float(guess)

tries = 10

while guess != number and tries > 0 :

if guess < number: # This part works fine
print('Too low')
tries = tries - 1
print('You have %s tries left' % (tries))

if guess > number:
print('Too high') # This part is also good
tries = tries - 1
print('You have %s tries left' % (tries))

if tries == 0:
print('You lose!')
print('The answer was ' + str(number))
continue

if guess == number :
print('You win!') # Why doesn't this work?
#Python ends at this line if I get it right, but doesn't print: You win!

else :
guess = input('Try Again: ')
guess = float(guess)

pass # WHILE*

我只有 11 岁,几个月前才开始编程,请帮助我!

最佳答案

如果猜测正确,您的代码将无法满足第一个条件:

while guess != number and tries > 0 :

如果猜测完成,循环将在 else 语句后中断,并且永远不会返回到 if 条件检查猜测。

由于在输入正确答案之前您无法继续循环,因此您始终可以按如下方式编写:

import random 

number = random.randint(1,100) # This part works fine

guess = input('Guess a number between 1 and 100: ') #Asks question

guess = float(guess)

tries = 10

while guess != number and tries > 0 :

if guess < number: # This part works fine
print('Too low')
tries = tries - 1
print('You have %s tries left' % (tries))

if guess > number:
print('Too high') # This part is also good
tries = tries - 1
print('You have %s tries left' % (tries))

if tries == 0:
print('You lose!')
print('The answer was ' + str(number))
continue

else :
guess = input('Try Again: ')
guess = float(guess)

print('You win!')

请记住,其中存在一个错误,该错误会导致用户猜完后,您的获胜结果也会被打印出来。我决定将其留在这里,因为我认为它很容易修复,并且有利于您下定决心从中学习。如果您希望我为您做这件事,请随时在评论中写下。

我还建议在您的帖子中使用代码注释。在这种情况下,我会为您的问题提供如下代码:

import random 

number = random.randint(1,100) # This part works fine

guess = input('Guess a number between 1 and 100: ') #Asks question

guess = float(guess)

tries = 10

while guess != number and tries > 0 :

if guess < number: # This part works fine
print('Too low')
tries = tries - 1
print('You have %s tries left' % (tries))

if guess > number:
print('Too high') # This part is also good
tries = tries - 1
print('You have %s tries left' % (tries))

if tries == 0:
print('You lose!')
print('The answer was ' + str(number))
continue

if guess == number :
print('You win!') # Why doesn't this work?
# Python ends at this line if I get it right, but doesn't print: You win!

else :
guess = input('Try Again: ')
guess = float(guess)

pass # WHILE*

关于python - 数字游戏 : Can't Win: Won't print: You Win, 但结束脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43991105/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com