我的问题是,当我得到正确的数字时,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 语句后中断,并且永远不会返回到 nếu như
条件检查猜测。
由于在输入正确答案之前您无法继续循环,因此您始终可以按如下方式编写:
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*
Tôi là một lập trình viên xuất sắc, rất giỏi!