我正在嘗試用 Python 制作一個簡單的猜謎游戲。我,用戶,有三個猜測來猜測正確的數字。我嘗試自己做,我使用了 if 陳述句,而在正確的解決方案中,應該使用 while 回圈。我的解決方案效果很好,但是當我在第一次或第二次嘗試中猜出正確的數字時,我收到一個錯誤,即第二個/第三個數字缺少輸入,請參閱下面的代碼。我知道'break'只能在while回圈中使用。有沒有辦法使用 if 陳述句來完成這項作業,或者這只能通過使用 while 回圈來解決?初學者'編碼器'在這里,請耐心等待。謝謝!
correct = 3
first_number = int(input('Guess: '))
if first_number == correct:
print('You win!')
elif first_number != correct:
second_number = int(input('Try again: '))
if second_number == correct:
print('You win, second guess!')
elif second_number != correct:
third_number = int(input('Last guess: '))
if third_number == correct:
print('Finally!')
elif third_number != correct:
print('You lose!')
uj5u.com熱心網友回復:
您可以sys.exit()在匯入 sys 模塊后停止代碼執行import sys
import sys
# your code
#Let's say you want to "break" or stop the execution here...
sys.exit()
但是,這不是編程任何東西的有效方法。我建議您使用 while 回圈和 break 陳述句。(甚至是 for 回圈)
#Example
import random
correct = random.randint(0,10)
chances = 3
while chances >0:
chances -=1
choice = int(input("Guess: "))
if choice == correct:
print(f"Correct! You had {chances} chances left!")
else:
print(f"Wrong! You have {chances} chances left!")
random 模塊中的 randint 可幫助您找到一個隨機整數。
uj5u.com熱心網友回復:
一個合理的結構是使用for回圈來管理允許的最大嘗試次數。像這樣的東西:
computer_guess = 3
max_tries = 5
for i in range(max_tries):
if int(input('Your guess: ' if i == 0 else 'Try again: ')) == computer_guess:
print('Correct!')
break
else:
print('You ran out of guesses')
uj5u.com熱心網友回復:
蟒蛇 3.8。我們在回圈中使用walrus運算子。while
前:
correct = 3
first_number = int(input('Guess: '))
if first_number == correct:
print('You win!')
elif first_number != correct:
second_number = int(input('Try again: '))
if second_number == correct:
print('You win, second guess!')
elif second_number != correct:
third_number = int(input('Last guess: '))
if third_number == correct:
print('Finally!')
elif third_number != correct:
print('You lose!')
后:
correct = 3
while (first_number := int(input('Guess: ')) is not correct):
print('Try again!')
else:
print('You win!')
uj5u.com熱心網友回復:
您可以僅使用 if-elif-else 陳述句輕松完成此操作。while 回圈雖然有效,但不是必需的:
correct = 3
first_number = int(input('Guess: '))
if first_number == correct:
print('You win!')
elif first_number != correct:
second_number = int(input('Try again: '))
if second_number == correct:
print('You win, second guess!')
elif second_number != correct:
third_number = int(input('Last guess: '))
if third_number == correct:
print('Finally!')
elif third_number != correct:
print('You lose!')
我們可以使用嵌套的 if 陳述句,這樣如果用戶得到錯誤的答案并且我們進入鏈的 elif 部分,它將觸發下一組問題,依此類推。
使用 while 回圈的解決方案:
correct = 3
tries = 3
while tries != 0:
guess = int(input("Please guess"))
if guess == correct :
print("YOU GOT IT :DDD")
break
else:
print("Wrong. Please try again")
tries -= 1
if tries == 0:
print("You lost :(")
我們從 3 次嘗試開始。在回圈的每次迭代中(當用戶猜測時),我們給用戶一個正確猜測的機會。如果他們猜對了,我們祝賀他們并退出回圈。如果他們猜錯了,我們會告訴他們他們猜錯了,并減少他們的嘗試次數。最后,如果他們退出回圈并且沒有更多嘗試,我們告訴他們他們輸了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/496705.html
上一篇:基于多個if陳述句復制資料
