[英]Breaking a loop for basic python
我已經為此工作了一段時間。 我已經能夠讓這部分工作,但從來沒有完成。 最終目標是將用戶循環回另一個游戲,如果他們願意的話。 我認為問題出在我的 break 語句上,但我不確定如何繞過它。 我已經包含了我所有的代碼,以便可以發現任何錯誤。 抱歉,如果已經回答了這個問題,我找不到存在此類問題的頁面。
def game():
import random
from random import randint
n = randint(1, 10)
print('Enter a seed vlaue: ')
the_seed_value = input(' ')
random.seed(the_seed_value)
guessesTaken = 0
print("what is your name?")
myName = input("")
guess = int(input("Enter an integer from 1 to 99: "))
while n != "guess":
if guess < n:
print ("guess is low")
guessesTaken = guessesTaken + 1
guess = int(input("Enter an integer from 1 to 99: "))
elif guess > n:
print ("guess is high")
guessesTaken = guessesTaken + 1
guess = int(input("Enter an integer from 1 to 99: "))
else:
print ("Congradulations " + myName + " you guessed it in " + str(guessesTaken) + " guesses!")
break
print('Want to play agian? y/n')
answer = input(" ")
if answer == "n":
print ("Ok, See you next time!")
elif answer == "y":
print("Starting new game!")
game()
def main():
game()
if __name__ == "__main__":
main()
一方面,@kerwei 正確地指出您的while
行有問題,需要從while n != "guess":
更改為while n != guess:
。
第二,當玩家猜對時,你的 while 循環就得到滿足,繞過Congrats
行。
由於游戲目前的結構是保持循環直到玩家猜對了,一個簡單的解決方法是從循環中刪除else:
行並在之后放置勝利語句。 那是,
def game()
...
while n != guess:
if guess < n:
...
elif guess > n:
...
print('Congrats!')
print('play again?')
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.