说明:
编写一个名为roll_big的函数,该函数接收1个数字参数。它生成从1到参数大小的随机数;将数字加在一起。当1滚动时停止。 1不计算,但返回其余数字的总和。
我不明白for循环为什么我的代码有问题。我需要修理什么?
import random
def roll_big(x):
count = 0
while True:
for i in random.randrange(1,x):
if i == 1:
return count
else:
count += i
答案 0 :(得分:3)
randrange
不返回序列,只返回一个数字:
import random
def roll_big(x):
count = 0
while True:
i = random.randrange(1, x)
if i == 1:
return count
else:
count += i
答案 1 :(得分:0)
random.randrange(1,x)
返回1和x之间的单个整数,而不是列表。您需要将代码修改为以下内容(注意:未经测试):
def roll_big(x):
count = 0
while True:
i = random.randrange(1, x)
if i == 1:
return count
else:
count += i