Exercice Python - 1SPE
-
Ppik15 dernière édition par
Bonjour j'aurai besoin d'aide pour cette exercice:
1) Créer une liste qui démarre par un nombre demandé à l’utilisateur noté a.
Ajouter à cette liste un nouveau nombre qui sera la moitié du précédent (a/2) si a est pair ou qui sera (3a+1) si a est impair.
Aide : l’instruction if(a%2==0) : teste si le nombre a est pair
Répéter cette opération jusqu’à ce que le nombre obtenu soit 1 et on arrête la boucle.
Afficher la liste des nombres de a jusqu’au dernier qui est 1 et préciser en combien d’étapes on est arrivé à 1 : on notera ce nombre d’étapes nécessaires n(a).
2) Modifier le programme précédent pour qu’il crée une nouvelle liste contenant les n(a) pour tous les a entre 2 et 100.
3) Extraire de cette liste la valeur maximale et faire afficher la valeur de a pour laquelle n(a) est le plus grand.
4) Modifier le programme pour qu’il ressorte ce même résultat en analysant les n(a) pour a entre 2 et une valeur choisie par l’utilisateur.Merci d'avance.
-
Ppik15 dernière édition par
Voilà ce que j'ai fait pour l'instant:
from lycee import*
a=demande("Veuillez saisir votre nombre de départ:")
liste=[a]
liste_na=[]
na=0
for a in range(2,100):
while a!=1:
if(a%2==0):
a=int(a/2)
liste.append(a)
na+=1
else:
a=int(3*a+1)
liste.append(a)
na+=1
liste_na.append(na)
na=0
print("La liste des nombres est:",liste)
print("Le nombre d'étapes nécessaires est de",na)
print("La liste contenant les n(a) pour tous les a entre 2 et 100 est:",liste_na)
-
BBlack-Jack dernière édition par
Bonjour,
Il y a un soucis (au moins un)
Dans l'exercice 1, on demande d'entrer une valeur de "a"
Pour cette partie de l'exercice, il ne faut donc pas faire une boucle pour a allant de 2 à 100.Et pour la partie 2, on doit faire une boucle pour a allant de 2 à 200 ... mais il ne faut pas alors demander d'entrer une valeur de a auparavant.
Je t'envoie un programme qui devrait aller pour la partie 1 de l'exercice.
Il est à comprendre évidemment ...
Et il faudra ensuite modifier ce programme pour répondre à la question 2 ...
Et encore modifier pour les questions 3 et 4
-
Ppik15 dernière édition par
Voilà ce que j'ai fais pour la question 2, pouvez-vous m'aidez s'il-vous-plaît?
-
Ppik15 dernière édition par
Du coup, pour les questions 2 à 4, je dois quand même laisser la partie où on demande d'entrer une valeur ''a'' ?
-
BBlack-Jack dernière édition par Black-Jack
Bonjour,
As-tu fait tourner ton programme pour la partie 2 ?
En recopiant ton code et le faisant tourner, sauf erreur de recopie de ma part, le programme ne fait pas ce qui est attendu.
Pour la partie 2 de l'exercice :
Essaie de comprendre ceci :
Fais le tourner et compare aux résultats du tien ...
-
Ppik15 dernière édition par
Bonjour,
merci beaucoup.
Est-ce que je dois quand même laisser la partie 1 et à la suite mettre ce programme ou je mets directement la partie 2 en enlevant la partie 1?
-
Ppik15 dernière édition par
C'est-à-dire que je laisse comme ça:
Ou je supprime la partie 1 pour juste laisser la partie 2?
-
Ppik15 dernière édition par
Voilà ce que j'ai fais pour les questions 3 et 4, pouvez-vous me dire si cela est correct s'il-vous-plaît?
-
BBlack-Jack dernière édition par
A vérifier et corriger si besoin est.
Pareil évidemment pour les réponses 1 et 2.
Il faut évidemment essayer tous ces programmes.