Вы можете использовать список или словарь здесь.Я бы склонялся к словарю, который, я думаю, лучше всего представляет собой ту редкую структуру данных, к которой вы стремитесь (каков первый элемент вашего count
списка? Он всегда будет нулевым, но не должен ли он быть на самом деле) ничто ? Имеет ли больше смысл, что ноль катился ни разу, или что его вообще нельзя катить?)
Этот словарь лучше всего определить просто как:
counts = {}
# You can also generalize your rolling 2d6!
def roll_dice(num_dice, sides):
total = 0
for _ range(num_dice):
dieroll = random.randint(1, sides)
total += dieroll
return total
for _ in range(rolls):
roll = roll_dice(2, 6)
counts.setdefault(roll, 0) += 1 # this is using dict.setdefault
for roll, count in sorted(counts.items()):
print("You rolled {} {}s".format(count, roll))
Вы также можете использовать collections.Counter
для этого.
rolls = [roll_dice(2, 6) for _ in num_rolls]
# this will generate a list like [3, 12, 6, 5, 9, 9, 7, ...],
# just a flat list of rolls.
result = collections.Counter(rolls)