我想在python中运行一个简单的骰子程序,该程序可以滚动一个六面骰子10次,但程序没有

我想在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):

我想让这个骰子程序模拟一个六面骰子的滚动,每次我使用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):
            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)的

    您使用了
    骰子
    两次。请在您的回答中说明为什么需要更改,以便在纠正错误的同时吸取教训?