【发布时间】:2012-11-04 14:29:49
【问题描述】:
我是一名业余程序员,正在开发控制台掷骰子,比传统的掷骰子要复杂得多。到目前为止,我在使用此功能时遇到了问题:
def multiRoll(dice, amount):
total = 0
rolls = []
for roll in range(amount):
rolls += roll(dice)
total = sum(rolls)
return total, rolls
意味着从描述骰子种类(4、6、8 面等)的字典中获取单个条目及其索引和掷骰子的次数。然后它会根据需要尽可能多地掷骰子,然后将每个结果添加到一个列表中,稍后汇总。
但显然通量出了问题,当它到达这条线时:
rolls += roll(dice)
我得到 'int' 对象不可调用。
请告诉我如何克服这个问题?
如果您对 roll() 函数有任何疑问,请点击此处:
def roll(dice):
if dice < 1:
print "I found a problem when trying to roll a d%d" % (dice)
return "Failed"
else:
return randrange(1, dice)
【问题讨论】: