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

  1. #1
    Membre actif
    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
    Points : 237
    Points
    237
    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 sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 273
    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 273
    Points : 36 757
    Points
    36 757
    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 actif
    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
    Points : 237
    Points
    237
    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 sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 273
    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 273
    Points : 36 757
    Points
    36 757
    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 actif
    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
    Points : 237
    Points
    237
    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
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 677
    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 677
    Points : 30 965
    Points
    30 965
    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]

  7. #7
    Membre actif
    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
    Points : 237
    Points
    237
    Par défaut
    Bonsoir Sve@r,

    Ton code est magnifique c'est vraiment ce que je voulais comme résultat. Effectivement la note incorrecte est stocké et cela est problématique. Merci d'avoir soulevé le problème...

    Il y a cependant une petite chose que je n'arrive pas à comprendre, pourquoi tu ne crées pas un tableau vide pour les notes[] ???

    Merci d'avance

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 677
    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 677
    Points : 30 965
    Points
    30 965
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Il y a cependant une petite chose que je n'arrive pas à comprendre, pourquoi tu ne crées pas un tableau vide pour les notes[] ???
    Ben j'ai créé un tableau où chaque élément est une association nom+note. Je ne vois pas à quoi servirait un autre tableau ne contenant que les notes...
    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]

  9. #9
    Membre actif
    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
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Ben j'ai créé un tableau où chaque élément est une association nom+note. Je ne vois pas à quoi servirait un autre tableau ne contenant que les notes...
    Merci pour tes explications. J'ai encore bossé un peu sur le code hier soir.
    En fait j'aimerais trier les notes qui ont été entrées. Je ne sais pas si c'est correct ce que j'ai fait ?

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    def demande(nb):
        tabEleve=[]
     
        for i in range(nb):
            nom=input("Entrer le " + str (i+1) + " nom de l'élève : ")
            while True:
                note=int(input("Entrer la note de " + str (nom) + " : "))
                if note >= 0 and note <= 20: break
                print("note" , note, "incorrecte !!!" )
            # while
            tabEleve.append({"nom" : nom, "note" : note})
        # for
     
        return tabEleve
    # demande()
     
    def trie(t):
        for i  in range( len(t)-1, 0, -1 ):
            for j in range(i):
                if t[j+1]['note'] < t[j]['note']:
                    note = t[j]
                    t[j] = t[j + 1]
                    t[j + 1] = note
        return t
     
     
    tabEleve=demande(3)
     
     
    print(trie(tabEleve))

    Après le triage, j'aimerais qu'on demande à l'utilisateur de retaper les 3 notes des élèves (en fonction du tri) ; je pense que je dois recréer une fonction demande() ?

  10. #10
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Pour le tri :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    from operator import itemgetter
    # Tri par les notes
    tabEleve = sorted(tabEleve, key=itemgetter('note'))
    print(tabEleve)
    En ce qui concerne la confirmation des notes, c'est bien cela ?
    Oui, il te faut refaire une fonction demande mais à la différence que tu ne demanderas plus le nom de l'élève, mais tu l'afficheras.
    Le temps ronge l'amour comme l'acide.

  11. #11
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 677
    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 677
    Points : 30 965
    Points
    30 965
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def trie(t):
        for i  in range( len(t)-1, 0, -1 ):
            for j in range(i):
                if t[j+1]['note'] < t[j]['note']:
                    note = t[j]
                    t[j] = t[j + 1]
                    t[j + 1] = note
        return t
    Oui c'est correct (tu as réécrit l'algorithme du tri à bulles). Sauf que chaque item t[x] étant un ensemble "nom+note", c'est peu avisé d'utiliser une variable nommée "note" comme élément intermédiaire. Ca fonctionne bien entendu car qu'une variable s'appelle "titi" ou "tata" ne change rien mais donner à une variable un nom ne reflétant pas son contenu montre que tu ne maîtrises pas ce que tu manipules.

    Mais sinon, comme te le montre bistouille, tu as une fonction déjà toute faite pour trier des trucs.

    Citation Envoyé par Tamzoro Voir le message
    Après le triage, j'aimerais qu'on demande à l'utilisateur de retaper les 3 notes des élèves (en fonction du tri) ; je pense que je dois recréer une fonction demande() ?
    Moui. Là ça devient un peu confus. Pourquoi resaisir les notes ? L'élève a eu une note, pourquoi en changer ?? Et en quoi le tri a-t-il un effet sur cette action ???

    On est parti au départ sur une simple saisie. Si maintenant tu décides de faire un truc plus complexe avec saisie d'élèves, saisie de note, modification de note, suppression d'élève, ajout d'élève etc alors il faut effectivement repenser tout le code et créer des fonctions dédiées à chaque action...
    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]

  12. #12
    Membre actif
    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
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Oui c'est correct (tu as réécrit l'algorithme du tri à bulles). Sauf que chaque item t[x] étant un ensemble "nom+note", c'est peu avisé d'utiliser une variable nommée "note" comme élément intermédiaire. Ca fonctionne bien entendu car qu'une variable s'appelle "titi" ou "tata" ne change rien mais donner à une variable un nom ne reflétant pas son contenu montre que tu ne maîtrises pas ce que tu manipules.

    Mais sinon, comme te le montre bistouille, tu as une fonction déjà toute faite pour trier des trucs.
    Effectivement une variable reste une variable cependant il est important de lui attribuer un nom reflétant son contenu.
    Je ne vois pas trop quel nom attribuer à note ??? A la base je voulais l’appeler tableau..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def trie(t):
        for i  in range( len(t)-1, 0, -1 ):
            for j in range(i):
                if t[j+1]['note'] < t[j]['note']:
                    note = t[j]
                    t[j] = t[j + 1]
                    t[j + 1] = note
        return t
    Citation Envoyé par Sve@r Voir le message
    Moui. Là ça devient un peu confus. Pourquoi resaisir les notes ? L'élève a eu une note, pourquoi en changer ?? Et en quoi le tri a-t-il un effet sur cette action ???

    On est parti au départ sur une simple saisie. Si maintenant tu décides de faire un truc plus complexe avec saisie d'élèves, saisie de note, modification de note, suppression d'élève, ajout d'élève etc alors il faut effectivement repenser tout le code et créer des fonctions dédiées à chaque action...
    En fait il y a 3 étapes:
    1) on entre les notes de 3 élèves
    2) on trie les notes du plus petit au plus grand
    3) après le triage le programme prend l'élève qui a eu la note la plus petite et il lui propose d'entrer une seconde note, après c'est aux autres élèves de leur proposer une seconde note...

    ----
    Et après j'aimerais additionner les deux notes mais je verrais ça plus tard.

  13. #13
    Membre actif
    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
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par bistouille Voir le message
    Pour le tri :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    from operator import itemgetter
    # Tri par les notes
    tabEleve = sorted(tabEleve, key=itemgetter('note'))
    print(tabEleve)
    En ce qui concerne la confirmation des notes, c'est bien cela ?
    Oui, il te faut refaire une fonction demande mais à la différence que tu ne demanderas plus le nom de l'élève, mais tu l'afficheras.
    Pour le tri je préfère pas encore utiliser la fonction sorted car c'est assez facile. Vu que je suis débutant je préfère utiliser la méthode tri à bulle.

  14. #14
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Je ne vois pas trop quel nom attribuer à note ??? A la base je voulais l’appeler tableau..
    notes, notesEleves, notes_eleves, notations, notationsEleves, etc.
    Parfois il est difficile de trouver le nom de variable, fonction ou classe adéquat, mais là c'est pas trop dur.


    Citation Envoyé par Tamzoro Voir le message
    En fait il y a 3 étapes:
    1) on entre les notes de 3 élèves
    2) on trie les notes du plus petit au plus grand
    3) après le triage le programme prend l'élève qui a eu la note la plus petite et il lui propose d'entrer une seconde note, après c'est aux autres élèves de leur proposer une seconde note...

    ----
    Et après j'aimerais additionner les deux notes mais je verrais ça plus tard.
    Rien compris au 3 :/
    Mais si un élève peut avoir plusieurs notes, au lieu d'utiliser un entier pour notes du dictionnaire, tu peux changer pour une liste, de manière à obtenir :

    {"nom" : nom, "notes" : [note, note, ...]}

    Un bon exercice pour s'exercer avec des itérables imbriqués.


    Citation Envoyé par Tamzoro Voir le message
    Pour le tri je préfère pas encore utiliser la fonction sorted car c'est assez facile. Vu que je suis débutant je préfère utiliser la méthode tri à bulle.
    Comme tu veux
    Mais tu y reviendras bien vite.
    Le temps ronge l'amour comme l'acide.

  15. #15
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 677
    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 677
    Points : 30 965
    Points
    30 965
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Je ne vois pas trop quel nom attribuer à note ??? A la base je voulais l’appeler tableau..
    A quoi sert cette variable ? A mémoriser pendant un court instant un élément[i] de ton tableau d'élèves (un élément, pas tout le tableau, donc le token "tableau" n'est pas bon).
    bistouille t'a donné des idées. Mais moi, par exemple, vu à quoi elle sert je me serais pas fait ch... et je l'aurais appelée "_", nom qu'on utilise habituellement pour signifier que c'est une variable au rôle plus que mineur et qu'on n'a pas envie de se prendre la tête avec son nom.

    Accessoirement pas besoin de trier pour trouver l'élève qui a eu la plus petite note.

    Citation Envoyé par bistouille Voir le message
    Mais si un élève peut avoir plusieurs notes, au lieu d'utiliser un entier pour notes du dictionnaire, tu peux changer pour une liste, de manière à obtenir :

    {"nom" : nom, "notes" : [note, note, ...]}

    Un bon exercice pour s'exercer avec des itérables imbriqués.
    Excellent
    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]

  16. #16
    Membre actif
    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
    Points : 237
    Points
    237
    Par défaut
    Bonjour,

    J'ai changé un peu l'exercice en fait j'aimerais additionner deux tableaux vous ne savez pas comment faire ?
    J'aimerais donc additionner le tableau score et score2 en créant une nouvelle fonction qui portera le nom de printScore.
    Je souhaiterais faire cela sans utiliser de dictionnaire.

  17. #17
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 677
    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 677
    Points : 30 965
    Points
    30 965
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    J'ai changé un peu l'exercice en fait j'aimerais additionner deux tableaux vous ne savez pas comment faire ?
    Euh, si on sait faire !!!

    Mais là, on entre dans un domaine de terminologie (et nous encore on peut raisonner et chercher mais Python sera encore plus vache parce que lui il ne se pose pas de question => t'as qu'à essayer de taper print 'a' + 1 et tu comprendras).
    Parce que "additionner deux tableaux" peut se traduire de deux façons: "placer le contenu du tableau 2 à la suite du tableau 1" ; ou bien "cumuler chaque valeur du tableau 1 à son homologue du tableau 2".
    En python, si tu tapes tab1 + tab2 il effectuera la première opération. Si maintenant tu veux toi effectuer la seconde, ben [x+y for x,y in zip(tab1, tab2)] ou map(sum, zip(tab1, tab2)) sont déjà un bon point de départ. Donc méfies-toi des verbes simplistes quand tu exprimes ton besoin...

    Maintenant concernant ton code ben t'as pas trop saisi la finalité de la factorisation par fonctions. A quoi sert d'avoir une fonction "demand" et "demand1" ? T'as pas senti que ces deux fonctions faisaient exactement la même chose ??? Ok elles remplissent un tableau différent mais justement c'est là l'avantage des paramètres : pouvoir faire faire à une fonction un travail sur un trucA puis lui faire faire le même travail sur un trucB en lui passant "trucA" et "trucB" en paramètre justement.

    Et pareil pour les autres (tri1, tri2, printTri1, printTri2, etc etc etc...)
    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]

  18. #18
    Membre actif
    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
    Points : 237
    Points
    237
    Par défaut
    Bonsoir,

    Effectivement il faudrait diminuer mon code car je crée beaucoup de fonction qui ne sont pas nécessaires.
    J'aimerais bien savoir comment je pourrais fusionner la fonction printPoint1 et printPoint2 par exemple ? Je voudrais donc additionner le score + score 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def printPoint1(name, point, score):
      for i in range(len(name)):
        print("Name : " + name[i] + " Your score is of " + str(point[i]) + " : " + str(goal[i]) + " goals. ")
      score.append(point[i])
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     def printPoint2(name, point, score2):
          for i in range(len(name)):
            print("Name : " + name[i] + " Your score is of  " + str(point[i]) + " : " + str(goal2[i]) + " goals. ")
          score2.append(point[i])

    Voici une petite idée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def printScore(name, point, score, score2, result):
      for i in range( len( name) ):
        print("Name : " + name[i] + " Your score is of  " + str(point[i]) + str(score[i] + score2[i]))
      result.append(?????)

+ 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