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 :

Petit Soucis dans ma condition


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut Petit Soucis dans ma condition
    Bonjour,

    J'ai un petit problème au niveau de ma condition:
    En fait, j'aimerais que lorsque un utilisateur entre une cote plus grande que 20; le programme invite l'utilisateur à retaper un chiffre inférieur.
    Cela n'a visiblement pas l'air de fonctionner.

    Merci pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    def demande(nb):
        tabNom = []
        tabCote = []
     
        for i in range(nb):
            tabNom.append(input("Entrer le " + str(i+1) + " nom svp : "))
            tabCote.append(input("Entrer le " + str(i+1) + " cote svp : "))
     
            if tabCote > 20:
                print(input("Ressayez svp : "))
     
        return tabNom, tabCote
     
    nom, cote = demande(3)
     
     
    print(nom, cote)

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 737
    Par défaut
    Salut,

    Relisez votre code.
    tabCote est une liste difficile de la comparer à un nombre. Python2 retournera True mais les dernières versions de Python3 planteront.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Relisez votre code.
    tabCote est une liste difficile de la comparer à un nombre. Python2 retournera True mais les dernières versions de Python3 planteront.

    - W
    Bonjour,

    Merci pour vos explications. Mais je ne vois pas trop ce que je pourrais faire à part créer une autre variable?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 737
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Merci pour vos explications. Mais je ne vois pas trop ce que je pourrais faire à part créer une autre variable?
    Si vous voulez tester que la valeur entrée par l'utilisateur est bien un nombre < 20, il va falloir convertir la chaine de caractères retournée par input en "int", puis la comparer à 20, puis l'ajouter à la liste ou demander une autre valeur.
    Donc oui, il faudra créer une autre variable...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    J'y suis arrivé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    def demande(nb):
      tabNom = []
      tabCote = []
     
      for i in range(nb):
        tabNom.append(input("Entrer le " + str(i+1) + " nom svp : "))
        tabCote.append(input("Entrer le " + str(i+1) + " cote svp : "))
     
        if int(tabCote[i]) > 20:
          print(input("Ressayez svp : "))
     
     
      return tabNom, tabCote
     
    nom, cote = demande(3)
    print(nom, cote)

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    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 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    J'y suis arrivé.
    Bonjour

    Que se passe-t-il, concrètement, si on entre une note > 20 ??? On a un message "Ressayer SVP" mais 1) ce qu'on saisit (en admettant que ce soit correct au second et dernier essai) disparait dans le néant 2) la note en erreur est quand-même stockée dans le tableau et la saisie passe à l'élève suivant...

    Accessoirement on peut utiliser tabCote[-1] pour accéder à la dernière note stockée (pour le test > 20). Bon dans ce cas particulier utiliser tabCote[i] fonctionne aussi mais autant utiliser le cas qui fonctionne tout le temps.

    Ceci dit, vu que chaque nom est associé à chaque note, c'est plus astucieux de matérialiser cette association dans un objet unique plutôt que manipuler un tableau de noms d'un coté, et un tableau de notes de l'autre. Par exemple par le biais d'un dictionnaire...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    def demande(nb):
    	tabEleve=[]
     
    	for i in range(nb):
    		nom=input("Entrer le %d nom:" % (i+1))
    		while True:
    			note=int(input("Entrer la %d note:" % (i+1)))
    			if note >= 0 and note <= 20: break
    			print("Note %d incorrecte !!!" % note)
    		# while
    		tabEleve.append({"nom" : nom, "note" : note})
    	# for
     
    	return tabEleve
    # demande()
     
    tabEleve=demande(3)
    print(tabEleve)
    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]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petit souci (trivial) avec une Chekbox et condition
    Par lapa-jh dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/05/2007, 16h11
  2. petit soucy de fenetre cmd
    Par FeetloveR666 dans le forum Windows
    Réponses: 5
    Dernier message: 03/07/2004, 14h24
  3. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 11h58
  4. Réponses: 6
    Dernier message: 21/01/2004, 13h25
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

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