exercice ioi programme n° 1

Publié le 5 oct. 2019 il y a 4A par Anonyme - Fin › 8 oct. 2019 dans 4A
1

Sujet du devoir

Bonjours avantles vacances de la toussain je dois finir le premier chapitre de ioi un site de programmation python et je suis bloquer sur pas mal d'exercices et le temps comment a ce reduire.... Pouvez vous m'aider ? 

Le premier exercice que je doit est celui ci :

ENONCE:

C'est la dernière semaine de cours et l'école organise une grande kermesse. L'un des stands, « La foire aux bonbons », propose un jeu permettant de gagner des bonbons. Le jeu est simple : il faut atteindre le plus grand nombre de fois possible une cible sans jamais la rater. On peut gagner gros, car plus on touche la cible, et plus on gagne de bonbons à chaque fois qu'on touche la cible ! Les élèves aimeraient connaître le nombre de bonbons qu'ils peuvent gagner en fonction du nombre de tirs consécutifs réussis.

Ce que doit faire votre programme :

Toucher la cible au premier tir rapporte un bonbon, toucher la cible au deuxième tir rapporte deux bonbons de plus, la toucher au troisième tir rapporte encore trois bonbons de plus, etc. Écrivez un programme qui affiche sur la première ligne le nombre total de bonbons obtenus si l'on ne réussit qu'1 tir, puis qui affiche sur la deuxième ligne le nombre de bonbons récupérés si l'on réussit 2 tirs de suite, puis sur la troisième ligne le nombre de bonbons récupérés si l'on réussit 3 tirs de suite, etc. jusqu'à la valeur que l'on peut récupérer si l'on réussit 50 tirs de suite.

Par exemple, si votre programme s'arrêtait à 5 et non à 50, il devrait afficher ceci :

1
3
 6
 10
 15

Où j'en suis dans mon devoir

voici le programme que j'ai fait mais il est faut pouvez vous me donner la correction ? merci d'avance et en esperant avoir un reponse dans ces jours a venir....

Elisa

nbBonbons = 0
result = nbBonbons
for loop in range(50):
   nbBonbons = 1
   print(nbBonbons)
   nbBonbons = nbBonbons + 1
   print(nbBonbons)
   nbBonbons = nbBonbons + result




7 commentaires pour ce devoir


Pierre Carrée
Pierre Carrée
Posté le 5 oct. 2019

Bonsoir

 

La variable result est inutile.

Dans la boucle for il faut mettre 51 et pas 50.

Je ferais ca

 

nbBonbons = 0
print(nbBonbons)
for i in range(51):
   nbBonbons = nbBonbons + i
   print(nbBonbons)
   

Anonyme
Anonyme
Posté le 6 oct. 2019

Bonjours je viens d'essayervotre programme le probleme c'est qu'ill y a une toute petite faut que je n'arrive pas a resoudre: le programme commence par 0 alors qu'il doit commencé par 1 le proble c'est que si je touche  nbBonbons = 0 et ben il me decalle tout les nombre et le programme est encors plus faut que avant.....

Pierre Carrée
Pierre Carrée
Posté le 6 oct. 2019

Ah oui

Efface le premier print

Anonyme
Anonyme
Posté le 6 oct. 2019

nbBonbons = 0
for loop in range(51):
   nbBonbons = nbBonbons + i
   print(nbBonbons)

le i corespond a quoi dans le programme ?

je vous remerci de m'aider !

1
Pierre Carrée
Pierre Carrée
Posté le 6 oct. 2019

Le i est une variable propre à la boucle for. Toi, tu utilises loop.

Ce i prend la valeur 0, puis 1, puis 2, 3, 4,....jusqu'a 50 .

De 0 à 50, il y a 51 valeurs. C'est pour cela qu'on met 51 dans la parenthese

Et je me rends compte qu'il ne faut pas la valeur 0 dans la boucle.

On va dire à la boucle de commencer à 1

for i in range(1,51):

 

 

Anonyme
Anonyme
Posté le 6 oct. 2019

ok merci j'ai reussi merci beaucoup pour ton aide !

Pierre Carrée
Pierre Carrée
Posté le 6 oct. 2019

Non je ne pense pas. Teste 


Ils ont besoin d'aide !

Il faut être inscrit pour aider

Crée un compte gratuit pour aider

Je m'inscrisOU

J'ai déjà un compte

Je me connecte