【发布时间】:2021-01-02 03:00:55
【问题描述】:
所以我在 python 中做这个小游戏并遇到了一个问题。我想随机化 randomNumber 变量。每次我运行它都会改变,但是当我打印数字时,它会一直显示相同的数字。例如,我选择玩游戏 3 次,我的游戏会让我输入 3 个值,但随机数对所有 3 个都是相同的。
代码:
import random
def guessingNumber():
userPlayTimes = int(input('How many times you wanna play : '))
randomNumber = random.randrange(1,10)
userScore = 0
for x in range(1,userPlayTimes+1):
userGuess = int(input('Please enter your random Guess : '))
print(userScore , randomNumber)
if userGuess == randomNumber:
userScore += 1
return userScore
print(userScore)
结果:
Q : How many times you wanna play : 5
Please enter your random Guess : 1
0 3 (score , randomNumber)
Q : Please enter your random Guess : 2
0 3 (score , randomNumber)
Q : Please enter your random Guess : 3
0 3 (score , randomNumber)
1 (overall score)
请不要介意我写得不好,因为这是我第一次使用 stackoverflow 来提问。
【问题讨论】:
-
您随机化一次并打印多次。结果是多次相同的数字。究竟是什么让你感到惊讶?
-
随机值在
randomNumber = random.randrange(1,10)中生成,并且只执行一次,所以tehre只是一个随机值。 -
您在 for 循环之前生成随机数,因此随机数保持不变。将
randomNumber = random.randrange(1,10)放在for循环中每次都会生成一个随机数。 -
如果数字正确,您可能不想返回。这意味着只有当你永远做对时才会显示用户分数,如果你做对了,你就不会玩剩下的回合。