新手在這里。我正在嘗試應用迄今為止我在 Python 中學到的知識,以更好地理解到目前為止的作業原理。我正在將某人的數字猜謎游戲與 freecodecamp 的猜謎游戲結合起來。當達到“猜測極限”時,我就輸了。然而,當號碼輸入正確時,用戶仍然“輸”。
例如,在下面的代碼中,我使用 x = 5 呼叫函式,當我“猜測”5 時,如果我希望它成為“else”操作,我仍然會收到“if limit”操作。
我嘗試了幾種變體,看看我是否能弄清楚,但無濟于事。任何支持將不勝感激。如果有一個鏈接或文章你可以指導我,那就太好了。
def numguess(x):
number = x
guess = 0
guess_count = 1
guess_limit = 5
limit = False
while guess != number and not(limit):
guess = int(input("\nGuess the number: "))
if guess < number and guess_count <= 4:
print("too low")
guess_count = 1
elif guess > number and guess_count <= 4:
print("too high")
guess_count = 1
else:
limit = True
if limit:
print("you lose")
else:
print("you win")
numguess(5)
uj5u.com熱心網友回復:
您可以簡化代碼,如下所示:
def numguess(x):
number = x
guess = 0
guess_count = 1
guess_limit = 5
while guess != number and guess_count <= guess_limit:
guess = int(input("\nGuess the number: "))
if guess < number:
print("too low")
guess_count = 1
elif guess > number:
print("too high")
guess_count = 1
if guess_count <= guess_limit:
print("you win")
else:
print("you loose")
numguess(5)
或者,如果您真的想使用該limit變數:
def numguess(x):
number = x
guess = 0
guess_count = 1
guess_limit = 5
limit = False
while guess != number and not(limit):
guess = int(input("\nGuess the number: "))
if guess < number:
print("too low")
guess_count = 1
elif guess > number:
print("too high")
guess_count = 1
limit = guess_count > guess_limit
if limit:
print("you loose")
else:
print("you win")
numguess(5)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/357392.html
上一篇:如何將計算放入for回圈中,中間有一個if陳述句?什么是正確的語法?
下一篇:為什么在這里使用if是錯誤的,在golang中,remove-duplicates-from-sorted-array
