IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Aide exo python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autriche

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2022
    Messages : 3
    Par défaut Aide exo python
    Bonjour,

    J'aimerai faire cet exercice :

    New item: 3
    The list now: [3]
    The list in order: [3]
    New item: 1
    The list now: [3, 1]
    The list in order: [1, 3]
    New item: 9
    The list now: [3, 1, 9]
    The list in order: [1, 3, 9]
    New item: 5
    The list now: [3, 1, 9, 5]
    The list in order: [1, 3, 5, 9]
    New item: 0
    Bye!

    Malheureusement quand je fais un if pour finir la boucle, il n'est pas détecté :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    list=[]
    while True:
        numb=input("New item: ")
        print(numb)    #pour être sur que numb est bien égal à 0
        if numb==0:
            print("bye")
            break
        else:
     
            list.append(numb)
            print("The list now: ",list)
            print("The list in order: ",sorted(list))

    Pouvez-vous me dire pourquoi et comment faire ? Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Bonjour.

    Ce que tu récupères via la méthode input n'est pas un entier mais une string.

    En saisissant le chiffre 0, tu récupères la valeur '0' qui n'est pas 0.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    list=[]
    while True:
        numb=input("New item: ")
        print(numb)    #pour être sur que numb est bien égal à 0
        if numb=="0":
            print("bye")
            break
        else:
     
            list.append(numb)
            print("The list now: ",list)
    De plus, tu ne reproduit pas exactement ce qui est demandé dans l'exercice.

    Regarde les listes montrées dans l'exercice : contiennent-elles des int ou des str ?

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 541
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 541
    Par défaut
    il peut corriger l'es deux d'une pierre deux coups, avec l'ajout de 5 caractères (3 pour le nom d'une fonction et les 2 parenthèses qui vont avec la fonction)

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Citation Envoyé par 16486394788 Voir le message
    Pouvez-vous me dire pourquoi
    print(numb) #pour être sur que numb est bien égal à 0
    Remplace par print(numb, type(numb)) et tu comprendras.
    Citation Envoyé par 16486394788 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        if numb==0:
            print("bye")
            break
        else:
            list.append(numb)
            print("The list now: ",list)
            print("The list in order: ",sorted(list))
    Pas besoin de "else". Puisque tu quittes la boucle dans le "if", si tu continues la boucle c'est que tu n'as pas quitté donc que tu es dans l'autre cas.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. aide exo 9.4 d'apprendre python 3 de Gerard Swinnen
    Par loicsu33 dans le forum Exercices
    Réponses: 14
    Dernier message: 27/08/2020, 08h16
  2. [Python 3.X] Aide pour exo python
    Par didla dans le forum Général Python
    Réponses: 3
    Dernier message: 20/03/2019, 14h48
  3. Aide exo python
    Par Aurelenass dans le forum Exercices
    Réponses: 4
    Dernier message: 07/09/2017, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo