我正在研究一个使用python类的问题,并且有一个构造函数来给出一个die的边数和一个用于根据边数返回的随机数掷出die的函数.我意识到代码是非常基本的,但是我很难理解如何总结三个不同侧面的掷骰子.由于变量正在传递函数实例,因此获取该值的最佳方法是什么?这就是我所拥有的.
*澄清......我可以将roll1.roll_dice()的总数加起来,但我必须单独显示每个掷骰子,然后显示三个骰子的总数.我可以做其中任何一个但不是两个.
class Die(): def __init__(self, s = 6): self.sides = s def roll_die(self): x = random.randint(1,self.sides) return x roll1 = Die() #Rolling die 1 with the default side of 6 roll2 = Die(4) #Rolling die 2 with 4 sides roll3 = Die(12) #Rolling die 3 with 12 sides print roll1.roll_die() print roll2.roll_die() print roll3.roll_die()
dF... 10
您可以将结果存储在列表中:
rolls = [Die(n).roll_die() for n in (6, 4, 12)]
然后你可以显示个别结果
>>> print rolls [5, 2, 6]
或者总结一下
>>> print sum(rolls) 13
或者,相反,您可以保持总计:
total = 0 for n in (6, 4, 12): value = Die(n).roll_die() print "Rolled a", value total += value print "Total is", total
(编辑以反映对问题的更改/澄清)
您可以将结果存储在列表中:
rolls = [Die(n).roll_die() for n in (6, 4, 12)]
然后你可以显示个别结果
>>> print rolls [5, 2, 6]
或者总结一下
>>> print sum(rolls) 13
或者,相反,您可以保持总计:
total = 0 for n in (6, 4, 12): value = Die(n).roll_die() print "Rolled a", value total += value print "Total is", total
(编辑以反映对问题的更改/澄清)