我想在python中运行一个简单的骰子程序,该程序可以滚动一个六面骰子10次,但程序没有
我想让这个骰子程序模拟一个六面骰子的滚动,每次我使用forloop将六面骰子滚动十次 如前所述,我编写了一个for循环,并指定了希望六面模具滚动的次数我想在python中运行一个简单的骰子程序,该程序可以滚动一个六面骰子10次,但程序没有,python,random,dice,Python,Random,Dice,我想让这个骰子程序模拟一个六面骰子的滚动,每次我使用forloop将六面骰子滚动十次 如前所述,我编写了一个for循环,并指定了希望六面模具滚动的次数 import random class Die(): def __init__(self): self.sides=6 def roll_die(self): dice=random.randint(1,self.sides) for dice in range(11):
import random
class Die():
def __init__(self):
self.sides=6
def roll_die(self):
dice=random.randint(1,self.sides)
for dice in range(11):
print("Rolling "+str(dice))
dice_roll=Die()
print("=========================================================")
dice_roll.roll_die()
输出:
=========================================================
Rolling 0
Rolling 1
Rolling 2
Rolling 3
Rolling 4
Rolling 5
Rolling 6
Rolling 7
Rolling 8
Rolling 9
Rolling 10
我希望我的模拟中的for循环打印一组从1到6的随机数十次。相反,它按顺序打印数字,而不是只打印1到6之间的数字。这样写循环:
for _ in range(10):
dice=random.randint(1,self.sides)
print("Rolling "+str(dice))
如果只希望循环一定次数而不根据迭代次数改变流程,那么for循环中不需要变量
为了在每个循环上获得不同的骰子值,您需要在循环内计算它。你把它放在外面了。您还通过在for循环中使用相同的变量名来覆盖放置在骰子变量中的随机值。在第一次分配骰子后,
dice=random.randint(1,self.sides)
,您在下一行重新分配了它。要修复此错误,只需将范围(11)中骰子的更改为类似范围(11)中i的,
首先,您将骰子滚动11次(0,1,2,…,10)。如果只需要10次,则应使用range(10)
接下来,对两件事使用相同的变量骰子
掷骰子的价值
掷骰子的次数
您可以更改为dice\u val=random.randint(1,self.sides)
和print(“滚动”+str(dice\u val))
或
将范围内骰子(11)的更改为类似于范围内掷骰子计数(10)的,
您使用了骰子
两次。请在您的回答中说明为什么需要更改,以便在纠正错误的同时吸取教训?