这是我的Python代码,我希望occurence
成为一个大的列表。当我运行它时,我只回到许多一位数的列表,我尝试将print语句移出循环,但我只得到一个答案。有什么想法吗?
import random
rolls = 0
occurrence = []
for i in range(0, 1000):
dice1 = random.randrange(1, 7)
dice2 = random.randrange(1, 7)
rolls = rolls + 1
occurrence = [dice1 + dice2]
print(occurrence)
答案 0 :(得分:2)
您可以使用append()
:
import random
rolls = 0
occurrence = []
for i in range(0, 1000):
dice1 = random.randrange(1, 7)
dice2 = random.randrange(1, 7)
rolls = rolls + 1
occurrence.append(dice1 + dice2)
print(occurrence)
答案 1 :(得分:1)
这将为您提供长度为2个元组的列表,其中随机数介于1和7之间。
occurences = [(random.randrange(1, 7) , random.randrange(1, 7)) for i in range(1000)]
答案 2 :(得分:0)
从我的问题可以看出,这应该有效:
import random
rolls = 0
occurence = []
for i in range(0,1000):
dice1 = random.randrange(1,7)
dice2 = random.randrange(1,7)
rolls = rolls + 1
occurence.append(dice1 + dice2) #you need to add each value to the list with append
print (occurence)
使用时:
occurence = [dice1 + dice2]
每次for
循环运行时都会创建一个新列表,因此for
循环结尾处的结果是一个带有单个数字的列表。
答案 3 :(得分:0)
一种相当pythonic的方式是使用list comprehension:
occurence = [ (random.randrange(1,7)+random.randrange(1,7)) for _ in range(1000)]