[英]Rolling a dice in python n times
我想创建将“滚动” number_of_dice次并找到总和的代码。 这就是我所拥有的。 当我执行“ sum = sum + roll”时,我得到一个错误,表明+不支持的操作数类型:built_in_function_or_method和int。 我该如何解决?
for i in range(0,number_of_dice):
roll = random.randint(1,number_of_sides + 1)
sum = sum + roll
return sum
Python有一个内置的函数sum
,它返回作为序列给出的数字之和。 由于您没有声明的变量sum
它正试图+
是内置的功能和一些roll
这是不允许的。 您需要在循环之前定义变量:
sum = 0
for i in range(0,number_of_dice):
roll = random.randint(1,number_of_sides + 1)
sum = sum + roll
return sum
请注意,您应该在循环之后返回,而不是从循环内部返回。 另外,如果您不想隐藏内置函数sum
,则可以为变量使用其他名称。
我会用:
import random
def sum_of_dice(number_of_dice, n_sides_on_die=6):
return sum([random.choice(range(1, n_sides_on_die + 1))
for i in range(number_of_dice)])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.