为了账号安全,请及时绑定邮箱和手机立即绑定

需要帮助修复随机数

需要帮助修复随机数

汪汪一只猫 2021-12-17 14:37:52
我正在学习 Python 并且正在研究随机掷骰子。当我运行它时,它会重复在询问您是否要再次播放后首先显示的相同数字。我需要帮助找到我在这里出错的地方。我尝试移动代码并放置不同种类的代码。我只是被难住了。import sysimport randomimport timegreeting = "Welcome to my Dice Game!"roll = "Lets roll this die!"die = random.randint(0, 6)print(greeting)time.sleep(2)answer = input("Want to play?")while answer == "yes" or answer == "y":    print(roll)    time.sleep(2)    print(die)    answer = input("Want to play again?")print("Thanks for playing!")这就是我得到的:Welcome to my Dice Game!Want to play?yesLets roll this die!5Want to play again?yesLets roll this die!5Want to play again?yLets roll this die!5
查看完整描述

2 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

您需要在每次循环中重新计算骰子的值,例如:


import sys

import random

import time



greeting = "Welcome to my Dice Game!"

roll = "Lets roll this die!"



print(greeting)

time.sleep(2)


answer = input("Want to play?")


while answer == "yes" or answer == "y":

    print(roll)

    time.sleep(2)

    die = random.randint(0, 6) # recompute it here instead

    print(die)

    answer = input("Want to play again?")

print("Thanks for playing!")


查看完整回答
反对 回复 2021-12-17
?
GCT1015

TA贡献1827条经验 获得超4个赞

当您运行该命令时die = random.randint(0, 6),您告诉 Python 的是“使用该random.randint()函数在 1 到 6 之间选择一个随机整数,然后将名为的变量设置为die等于选择的整数”。完成后,您的其余代码不会执行任何操作来更新 的值die。这意味着print(die)在循环中将继续打印最初给出的任何值。换句话说,该命令die = random.randint(0, 6) 并不意味着“random.randint(0, 6)每次我提到时重新运行该命令并获得另一个随机数die”。相反,die它只是一些具有特定常量值的变量。


由于random.randint()实际数字生成是什么,保持更新的一种方法die是简单地将您在循环外的命令移动到循环内:


while answer == "yes" or answer == "y":

    print(roll)

    die = random.randint(0, 6) # Generate a new random number, then assign it to 'die'

    time.sleep(2)

    print(die)

    answer = input("Want to play again?")

事实上,如果你除了打印数字之外没有真正对数字做任何事情,你可以完全忘记使用一个变量,只需将random.randint()命令粘贴在你的print命令中:


while answer == "yes" or answer == "y":

    print(roll)

    time.sleep(2)

    print(random.randint(0, 6))

    answer = input("Want to play again?")


查看完整回答
反对 回复 2021-12-17
  • 2 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信