Exercice Python - 1SPE


  • P

    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.


  • P

    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)


  • B

    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

    Sans titre.jpg


  • P

    python.PNG
    Voilà ce que j'ai fais pour la question 2, pouvez-vous m'aidez s'il-vous-plaît?


  • P

    Du coup, pour les questions 2 à 4, je dois quand même laisser la partie où on demande d'entrer une valeur ''a'' ?


  • B

    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 :
    Sans titre.jpg

    Fais le tourner et compare aux résultats du tien ...


  • P

    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?


  • P

    C'est-à-dire que je laisse comme ça:
    5.PNG
    Ou je supprime la partie 1 pour juste laisser la partie 2?


  • P

    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? 1-2-3.PNG 4.PNG


  • B

    Sans titre1.jpg

    Sans titre.jpg

    A vérifier et corriger si besoin est.

    Pareil évidemment pour les réponses 1 et 2.

    Il faut évidemment essayer tous ces programmes.


Se connecter pour répondre