Je veux vérifier la limite centrale avec des dés. Rouler les dés. Somme les résultats. Répétez la même chose pour N fois. Changez D et répétez.générateurs de réutilisation
Il n'est pas nécessaire de stocker des valeurs aléatoires, donc je ne veux utiliser que des générateurs. Le problème est que les générateurs sont consommés; Je ne peux pas les réutiliser plusieurs fois. Maintenant, mon code utilise explicitement for
et je ne l'aime pas.
dice_numbers = (1, 2, 10, 100, 1000)
repetitions = 10000
for dice_number in dice_numbers: # how many dice to sum
sum_container = []
for r in range(repetitions):
rool_sum = sum((random.randint(1,6) for _ in range(dice_number)))
sum_container.append(rool_sum)
plot_histogram(sum_container)
Je veux créer quelque chose comme
for r in repetitions:
rools_generator = (random.randint(1,6) for _ in range(dice_number)
sum_generator = (sum(rools_generator) for _ in range(r))
, mais la deuxième fois que je réutiliser rools_generator
il est consommé. Ai-je besoin de construire une classe de générateur?
-1: 'rools_generator' est un générateur. Remarquez le rond plutôt que les crochets. –
vous avez remarqué que 16 secondes avant que je l'ai fait, édité. Merci. – msw