【发布时间】:2020-09-17 09:38:18
【问题描述】:
我必须制作一款游戏,根据玩家的猜测来奖励他们。用户猜一个数字,算法将其与随机生成的 2 位数字进行比较,并据此奖励玩家。
问题:玩家需要在游戏结束前玩此游戏 3 次。当我用 while 循环循环 3 次时,它只会通过询问用户的猜测来循环,并且不会打印或返回奖励消息。当我删除 while 循环并使用 for 循环时,它只运行一次并打印消息。
如何解决这个循环问题并运行这个程序三次?
import random
jackpot = 10000
award2 = 3000
award3 = 100
noaward = 0
play = 3
turns = 1
def lottery_game():
for x in range(play):
lottery = random.randrange(10,99)
lot = list(map(int, str(lottery)))
guess = int(input("Choose a 2 digit number: "))
n_guess = list(map(int, str(guess)))
if guess == lottery:
return "You won: " + str(jackpot) + " Euros"
elif n_guess[0] == lot[0] or n_guess[1] == lot[1]:
return "You won: " + str(award2) + " Euros"
elif n_guess[0] == lot[1] or n_guess[1] == lot[0]:
return "You won: " + str(award3) + " Euros"
else:
return "I am sorry, you won: " + str(noaward) + " Euros" + " try again"
while i <= 3:
lottery_game()
i = i + 1
【问题讨论】:
标签: python loops for-loop while-loop