Sagot :
Bonjour
Ce qu'on va faire, c'est traduire l'énoncé en code, partie par partie.
- La première chose qu'on peut définir c'est les 3 données (Distance parcourue par Émile, celle parcourue par Nestor et le nombre de semaine).
▌ nestor = 40
▌ emile = 30
▌ semaine = 1
Donc en fait là on a déjà défini les valeurs après la première semaine.
- Maintenant on va remettre en code les infos qu'on nous donne sur ce qui arrive aux valeurs après une seconde semaine passée.
- Nestor parcourra la même distance que la semaine passé à laquelle on ajoute 5km.
- Émile parcourra la même distance que la semaine passé à laquelle on ajoute 10% de sa valeur.
Donc si on veut avoir les valeurs de la seconde semaine, cela donnerait:
▌ nestor += nestor + 5
▌ emile += emile + (emile/100)*10
▌ semaine += 1
NB: Ici, j'utilise += pour dire que ce qui suit doit s'additionner à la valeur existante, donc semaine gagnera 1 par exemple, alors qu'avec l'opérateur = cela redéfinit strictement la valeur.
Après cela risquerait d'être long de répéter ce code jusqu'à obtenir les valeurs qu'on recherche, je te propose plutôt d'utiliser une boucle while.
- La boucle while servira à exécuter un code "en boucle" tant qu'on certaine affirmation n'est pas vérifiée, ici on demandera de répéter notre boucle tant que la valeur de emile est inférieure à celle de nestor.
▌ while emile < nestor:
▌ nestor += nestor + 5
▌ emile += emile + (emile/100)*10
▌ semaine += 1
Dans la boucle, j'ai ajouté le code qu'on a trouvé plus haut servant à incrémenter les valeurs pour chaque semaine.
- Ce qui serait encore utile c'est de demander l'affichage des valeurs à la fin de notre code, donc simplement des print().
▌ print("Nestor:",nestor,"km")
▌ print("Émile:",emile,"km")
▌ print(semaine, "semaines")
Je te laisse refaire le code par toi-même, si tu le fais correctement tu es sensé obtenir 10 semaines.
Si tu as mal compris quelque chose ou que tu as encore des questions (à propos de ce devoir)