我給了猜測者五次猜測亂數的機會。每次猜測者做錯了,我想列印:
Nice try, guess again (try bigger), you get {x} chance left.
這x是一個倒計時,所以第一個錯誤的猜測會說你還有 4 次機會,然后另一個錯誤,剩下 3 次機會,依此類推。我怎樣才能做到這一點?或者,如何在 x 上添加一個回圈。
所以這是我不成功的代碼:
import random
secret_num = random.randint(1, 20)
print('Guess the number from 1-20 (you get 5 chances)')
for guess_chance in range(1, 6):
guess = int(input("Input guess number: "))
if guess < secret_num:
x = 5
x -= 1
print(f'Nice try, guess again (try bigger), you get {x} chance left.')
elif guess > secret_num:
x = 5
x -= 1
print(f'Nice try, guess again (try smaller), you get {x} chance left.')
else:
break
if guess == secret_num:
print('Congratz, you guess correctly in' str(guess_chance) 'times.')
else:
print('Nope, the correct number is ' str(secret_num) '.')
uj5u.com熱心網友回復:
您需要x = 5在 for guess_chance in range...) 之前執行并將其從回圈內部洗掉。
print('Guess the number from 1-20 (you get 5 chances)')
x = 5
for guess_chance in range(1, 6):
guess = int(input("Input guess number: "))
if guess < secret_num:
x -= 1
print(f'Nice try, guess again (try bigger), you get {x} chance left.')
elif guess > secret_num:
x -= 1
print(f'Nice try, guess again (try smaller), you get {x} chance left.')
else:
break
否則,每次猜測您都將其重置為 5 次嘗試,然后減去 1 次...大概總是顯示 4 次嘗試...
還有很多其他方法可以解決這個問題...我只是選擇了對您的代碼更改最少的方法
當與您的范圍相結合時,這有點多余
x = 6 - guess_chance會作業
就像反向迭代范圍一樣
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/510413.html
標籤:Python循环
