J'ai vraiment besoin d'aide. J'ai défini une fonction qui donne un nombre x de jets pour les dés à n côtés. Maintenant, je suis demandé de calculer la fréquence de chaque côté et freq1 += 1
ne semble pas fonctionner étant donné qu'il peut y avoir beaucoup plus de côtés (pas seulement 6) et ce que j'ai fait était;Comment appeler la fonction de liste aléatoire sans la chanter en Python?
la première fonction je définissais était dice(x)
,
freq_list = list(range(1,(n+1)))
rollfreq = [0]*n
for w in dice(x):
rollfreq[w-1] += 1
print zip(freq_list,rollfreq)
Je reçois une liste telle que [(1,0),(2,4),(3,1)...]
ainsi de suite, ce qui est attendu, mais le problème est le valus de rollfreq ne correspond pas à la liste dice(x)
aléatoire d'origine . Je suppose que c'est parce que comme il est RNG, il change les valeurs de la dice(x)
dans la deuxième exécution ainsi que je ne peux pas me référer à ma fonction initiale dice(x)
générée aléatoirement. Y a-t-il une solution à cela? Je veux dire que j'ai essayé presque tout, mais apparemment ça ne marche pas!
EDIT:
import random
n = raw_input('Number of the sides of the dice: ')
n = int(n)
x = raw_input('Number of the rolls: ')
x = int(x)
def dice():
rolls = []
for i in range(x):
rolls.append(random.randrange(1, (n+1)))
return rolls
print dice()
freq_list = list(range(1,(n+1)))
rollfreq = [0]*n
for w in dice():
rollfreq[w-1] += 1
print 'The number of frequency of each side:', zip(freq_list,rollfreq)
J'ai ajouté le code - espérons que vous les gars peuvent me aider à sortir ce, je vous remercie!
Est-ce que le dé fonctionne quelque chose que vous avez écrit vous-même? Pourriez-vous poster le code à cela aussi? – n3m4nja
Merci pour votre réponse. J'ai ajouté le code à l'OP. – aleatha
Que diriez-vous d'assigner le contenu du rôle à une variable? –