Bonjour tout le monde, je doit faire un algorithme et répondre à une question mais je suis bloquée. Mon prof de maths m'a aidée à faire l'algorithme mais je n'arrive pas à le comprendre et donc à l'utiliser pour répondre à la question. Pourriez vous m'aider ?
Voici l'algorithme:
from random import*
def lancer() :
g=0
for i in range (1,501):
d=randint(1,6)
d1=randint(1,6)
s=d+d1
if s==8:
g=g+1
print(g)
Voici la question:
On mise sur une somme et si on obtient la bonne somme on gagne 8€, sinon on perd 1€. Sur quelle somme faut-il miser ?
Merci de me répondre au plus vite.
Bonjour,
aucun rapport avec la question
l'algorithme tire deux valeurs au hasard entre 1 et 6 (deux dés) , 500 fois, et compte le nombre de fois ou la somme de ces deux valeurs est égale à 8
il serait bon que les demandeurs comprennent que raconter des trucs qui ne sont pas la copie mot à mot exacte de l'ensemble de l'énoncé ne fait que leur faire perdre du temps à eux ...
Mais bon si vous le dite je vous crois mais qu'est ce que je devrais changer à mon algorithme alors pour que cela fonctionne ?
Au lieu d'utiliser une variable g, on pourrait utiliser un tableau
ou une variable liste pour comptabiliser le nombre de fois
où s == 2, s== 3, s == 4, etc..., s == 12
Ok pour une boucle en effet.
Définis déjà la variable liste, que l'on peut appeler l,
en lieu et place de la variable g, puis
en remplacement de g = g + 1
on écrira : l(s) = l(s) + 1
Donc si j'ai bien compris ça donnerais ça:
def lancer() :
for i in range (1,501):
d=radiant (1,6)
d1=randint (1,6)
s=d+d1
if s==8:
I(s) =I(s) +1
print (I)
Ben non.
Que vient faire encore le : if s==8: ???
On va dire que l est un tableau ou une liste de 12 éléments,
tous initialisé à 0 en début de programme (idem à g = 0)
- le premier élément de la liste est l(1)
- le deuxième élément de la liste est l(2) ;
il comptabilise le nombre de fois où s == 2 est obtenu.
- le troisième élément de la liste est l(3) ;
il comptabilise le nombre de fois où s == 3 est obtenu.
et,.....
- le douzième élément de la liste est l(12) ;
il comptabilise le nombre de fois où s == 12 est obtenu.
Ah oui pardon, je peux mettre for i in range (13) pour mettre un intervalle de 0 à 12. Et après j'enlève la ligne s==8.
toujours pas.
Laisse la boucle for comme elle est
dans l'algorithme initial,
et enlève juste la ligne : if s==8:
J'espère que cette fois c'est la bonne:
for i in range (1,501):
d=radiant (1,6)
d1=randint (1,6)
s=d+d1
(s) =I(s) +1
print (I)
juste pour info car pgeod a bien fait avancer le schmillblick :
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :