gpt4 book ai didi

python - 了解 Python 类实例

转载 作者:行者123 更新时间:2023-11-28 19:33:49 24 4
gpt4 key购买 nike

我正在研究一个问题,它使用 python 类并有一个构造函数来为一个骰子提供面数,还有一个函数可以根据面数返回一个随机数来掷骰子。我意识到代码非常基础,但我无法理解如何总结三个不同面的掷骰子的总数。由于变量正在传递函数实例,因此获取该值以将其相加的最佳方法是什么?这是我所拥有的。

*澄清一下...我可以将 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()

最佳答案

您可以将结果存储在列表中:

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

(编辑以反射(reflect)对问题的更改/澄清)

关于python - 了解 Python 类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/694002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com