bonjour, Avec 3 boucles imbriquées ça fonctionne aussi: for x in range(0,11): for y in range(0,11): for z in range(0,11): if x+y+z==10 and 2*y+5*z==30: print(x,y,z)
Je trouve cette méthode plus simple: for x in range (0,11): # pour x allant de 0 à 10 for y in range (0,11): # pour y allant de 0 à 10 for z in range (0,11): # pour z allant de 0 à 10 if (x*0)+(y*20)+(z*50) == 300 and x + y + z == 10: print((x,y,z)) Ca fonctionne aussi :-)
oui tout à fait, mais en temps de calcul c'est un peu dommage, vous faites tourner la boucle 10 fois plus, ici ça ne change rien, car c très court mais sur de gros calculs ça devient génant, très bonne journée
bonjour, j’ai fait exactement pareil que vous mais pourtant ça ne m’affiche que le triplet (1,5,4).. je ne comprends pas pourquoi il ne m’affiche pas également (4,0,6) ?
Je comprends la solution. Mais j'ai du regarder, ça m'a pris pas mal de temps pour comprendre et jamais je n'aurais su trouver par moi-même. J'aime beaucoup la programmation, mais j'aimerai bien savoir si la logique liée à ces exercices peux s'acquérir avec le temps où si je risque de passer beaucoup de temps avant de me rendre compte que c'est perdu d'avance.
c tout à fait normal que ça soit difficile au début, c juste une question d'entrainement, exactement comme en sport, musique il faut acquérir de l'expérience, et pour cela faut faire plein d'exos, et ensuite ça vient naturellement
for y in range(0,11): for z in range(0,11): for x in range(0,10): if x+y+z==10 and 0*x+20*y+50*z==300 : print(x,y,z) monsieur j'ai utiliser meme methode mais je ajoute le x et il me donne meme resultat est-ce-que c vrai et si oui pourquoi tu faut x+y+z
oui c tout bon , mais le programme tourne combien de fois 11*11*11 alors qu'il pourrait n e tourner que 11*11 ici c pas grave mais avec des grds nbres ça ralentit vraiment. ensuite moi comme je n'ai pas de x, je ne peux avoir x+y+z==10 mais seulement y+z
@@jaicomprisMaths merci monsieur Mais je comprend pas bien pour range (0,11) combien de fois va repeter càd si il va repeter 11 fois danc comme on a 11 flechette et pas 10
Je vous présente mes excuses pour mon erreur.En effet il y a beaucoup de résultats qui donnent 300.Exemple:(0,0,0,0,50,50,50,50,50,50).Je viens de faire un code qui me les donne tous.Encore une fois mille excuses.
bonjour,
Avec 3 boucles imbriquées ça fonctionne aussi:
for x in range(0,11):
for y in range(0,11):
for z in range(0,11):
if x+y+z==10 and 2*y+5*z==30:
print(x,y,z)
J'ai fait cette démarche, c'est correct mais ça ne donne qu'une seule possibilité
(0,10)
Je trouve cette méthode plus simple:
for x in range (0,11): # pour x allant de 0 à 10
for y in range (0,11): # pour y allant de 0 à 10
for z in range (0,11): # pour z allant de 0 à 10
if (x*0)+(y*20)+(z*50) == 300 and x + y + z == 10:
print((x,y,z))
Ca fonctionne aussi :-)
oui tout à fait, mais en temps de calcul c'est un peu dommage, vous faites tourner la boucle 10 fois plus, ici ça ne change rien, car c très court mais sur de gros calculs ça devient génant, très bonne journée
on apprend avec vous l'artiste :)) Merci :))
merci!!!!!
www.jaicompris.com
S'il vous plaît! je trouve du mal à taper le code sur le trinket et je sais pas pourquoi ?
Tres bien explique, Je m'abonne pour plus de videos
il y a plus de vidéos sur le site: www.jaicompris.com/python.php
bonjour, j’ai fait exactement pareil que vous mais pourtant ça ne m’affiche que le triplet (1,5,4).. je ne comprends pas pourquoi il ne m’affiche pas également (4,0,6) ?
À la main ça sera une équation de Diophante avec la condition
Pouvez-vous m'indiquer ,à titre d'exemple,un résultat qui me donne 300 comme total des gains ?
Je comprends la solution. Mais j'ai du regarder, ça m'a pris pas mal de temps pour comprendre et jamais je n'aurais su trouver par moi-même. J'aime beaucoup la programmation, mais j'aimerai bien savoir si la logique liée à ces exercices peux s'acquérir avec le temps où si je risque de passer beaucoup de temps avant de me rendre compte que c'est perdu d'avance.
c tout à fait normal que ça soit difficile au début, c juste une question d'entrainement, exactement comme en sport, musique il faut acquérir de l'expérience, et pour cela faut faire plein d'exos, et ensuite ça vient naturellement
je me suis pas cassé la tête 😁
for i in range(10):
for j in range(10):
for k in range(10):
if i*0+j*20+k*50==300 and i+j+k==10:
print(i,j,k)
bonsoir
Est-ce que on peut écrire x+y+z==0 a la place de x+y
tu veux dire x+y+z==10 et pas 0 ?
Impressionant !
merci et vous pouvez aller sur le site où tout est classé: jaicompris.com/python.php
très bonne journée
for y in range(0,11):
for z in range(0,11):
for x in range(0,10):
if x+y+z==10 and 0*x+20*y+50*z==300 :
print(x,y,z)
monsieur j'ai utiliser meme methode mais je ajoute le x et il me donne meme resultat
est-ce-que c vrai et si oui pourquoi tu faut x+y+z
oui c tout bon , mais le programme tourne combien de fois 11*11*11 alors qu'il pourrait n e tourner que 11*11 ici c pas grave mais avec des grds nbres ça ralentit vraiment.
ensuite moi comme je n'ai pas de x, je ne peux avoir x+y+z==10 mais seulement y+z
une 2eme question pour range(0,11) on a donc 11 flechette DONC Il faux utiliser range(1,11)
@@jaicomprisMaths merci monsieur
Mais je comprend pas bien pour range (0,11) combien de fois va repeter càd si il va repeter 11 fois danc comme on a 11 flechette et pas 10
@@myworld-vz2xi le nombre de cas possible pour chaque zone varie de 0 à 10 et non pas le nombre de fléchettes
Avec 130, je trouve beaucoup de résultats.Par exemple :( 50 0 20 0 20 0 20 0 20 0 130 ).Par contre avec 300 ,il me semble qu'il n'y en aucun.
jais pas compri comment et pourquoi vous av méttre 10-y-z
car il y a 10 flechettes, donc x+y+z=10 autrement dit x=10-y-z, très bonne journée
merci beaucoup
Je vous présente mes excuses pour mon erreur.En effet il y a beaucoup de résultats qui donnent 300.Exemple:(0,0,0,0,50,50,50,50,50,50).Je viens de faire un code qui me les donne tous.Encore une fois mille excuses.
pas de probleme, très bonne journée
A vous de meme.@@jaicomprisMaths
habib
exellent