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 :

PYTHON - cherche nom fonction


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 23
    Points : 15
    Points
    15
    Par défaut PYTHON - cherche nom fonction
    Salut,
    je suis en terminale s option isn, et je cherche pour mon projet une fonction qui sert à aller d'une fonction à une autre.explication :
    j'ai part exemple :
    def question1 :
    if réponse correcte
    aller à "def question 2
    def question2 :

    je cherche donc la fonction "aller à"
    merci de votre aide

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 355
    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 355
    Points : 36 883
    Points
    36 883
    Par défaut
    Salut,


    aller a = "goto" = a été exterminé de tout langage de programmation de haut niveau pour obliger le programmeur a éviter ce raccourci.
    (impossible d’éviter qu'ils en abusent autrement)
    Il faut poser le problème autrement (pour s'en passer):
    Un tas de questions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def question1(...):
          ... retourne True ou False
    def question2(...):
          ... retourne True ou False
    Passer d'une question a la suivante suppose une liste de questions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QUESTIONS = [ question1, question2 ]
    Puis vous parcourez la liste, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for q in QUESTIONS:
         if not q():
                break
    - W

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    je ne comprends pas trop voici mon programme :
    # programme des questions
    def question1() :
    print("qu'est ce un nombre binaire ?")
    print("1. un nombre qui comporte des chiffre de 0 à 9")
    print("2. un nombre qui comporte des 0 et 1")
    print("3. ABANDONNé")
    x=int(input("répondre à la question 2 : "))

    if (x==2) :
    aller def question2

    def question2() :
    print("qu'est ce un nombre binaire ?")
    print("1. un nombre qui comporte des chiffre de 0 à 9")
    print("2. un nombre qui comporte des 0 et 1")
    print("3. ABANDONNé")
    x=int(input("répondre à la question 3 : "))
    et ainsi de suite.
    ps : c'est pour faire un qui veut gagner de millions ?
    merci
    Fichiers attachés Fichiers attachés

  4. #4
    Membre régulier Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Points : 120
    Points
    120
    Par défaut
    Très simple:
    1- Tu déclares toutes tes fonctions au début du programme.
    2- Ensuite depuis le corps du programme tu lances la fonction question1
    3- Dans le corps de question1 tu dois lancer question2 si l'utilisateur à répondu correctement.
    4- etc

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    import sys
     
    def question1() :
        while True:
            print("qu'est ce un nombre binaire ?")
            print("1. un nombre qui comporte des chiffre de 0 à 9")
            print("2. un nombre qui comporte des 0 et 1")
            print("3. ABANDONNé")
            x=int(input("répondre à la question 2 : "))
            if x==2 :
                print("Réponse juste")
                # On sort
                break
            elif x == 3:
                 print("Au revoir")
                 sys.exit()
            else:
                #On affiche faux et on repose la question
                print("Faux")
        # Si on arrive ici c'est que l'utilisateur à bien répondu, on passe à la question suivante
        question2()
     
    def question2() :
        while True:
            print("qu'est ce un nombre binaire ?")
            print("1. un nombre qui comporte des chiffre de 0 à 9")
            print("2. un nombre qui comporte des 0 et 1")
            print("3. ABANDONNé")
            x=int(input("répondre à la question 2 : "))
            if x==2 :
                print("Réponse juste")
                # On sort
                break
            elif x == 3:
                 print("Au revoir")
                 sys.exit()
            else:
                #On affiche faux et on repose la question
                print("Faux")
        # Si on arrive ici c'est que l'utilisateur à bien répondu, on passe à la question suivante
        question3()
     
    def question3()
        print("question3")
        # Etc
     
    # Début du programme
    print("Bienvenue")
    print("et on démarre avec la 1ere question")
     
    question1()
    Voila c'est, je pense, ce que tu voulais faire.

    Bon ce code n'est pas parfait et pourrait être optimisé. Idéalement toutes tes questions seraient dans un tableau. Tu n'aurais qu'une seule fonction "question" qui lirait les questions les unes après les autres dans ce tableau.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    ok merci, mais après le but serai de le mettre dans tkinter.
    mais après le but étant de faire un "qui veut gagner des millions ?", si le joueur répond faux il part sans rien ou l'argent du dernier palier atteint, si il abandonne il repart avec l'argent du niveau où il es, si il répond juste il passe à la prochaine.



    ps : comment faites-vous pour mettre un programme python sur le message.

    merci

  6. #6
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2010
    Messages : 658
    Points : 1 158
    Points
    1 158
    Par défaut
    Salut,

    Citation Envoyé par quentinodia Voir le message
    ok merci, mais après le but serai de le mettre dans tkinter
    Une chose à la fois. Se précipiter c'est se planter.

    Pour revenir sur ce qui a été dit, je pense que à ta place je partirais sur un dictionnaire de questions/réponses. A cela je réécrirais la fonction de psyphi pour quelle fonctionne pour n'importe quelle question.

    Le dico:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dico = {'Q1': {'q': "Qu'est ce un nombre binaire ?",
                   1: "1. un nombre qui comporte des chiffres de 0 a 9",
                   2: "2. un nombre qui comporte des 0 et 1",
                   3: "3. ABANDONNER",
                   'r': 2}
            }
    L'avantage c'est que tu peux écrire tes questions réponses de cette forme dans un fichier texte et "l'uploader" avec le module json.

    En adaptant la function de psyphi on peut faire ceci:

    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
    import sys
     
    dico = {'Q1': {'q': "Qu'est ce un nombre binaire ?",
                   1: "1. un nombre qui comporte des chiffres de 0 a 9",
                   2: "2. un nombre qui comporte des 0 et 1",
                   3: "3. ABANDONNER",
                   'r': 2}
            }
     
    def play(dico):
        correct = True
        while correct:
            for question, data in dico.iteritems():
                print(question + ' ' + data['q'])
                print(data[1])
                print(data[2])
                print(data[3])
                x=int(input("Reponse : "))
                if x == data['r']:
                    print("Reponse juste")
                elif x == 3:
                    print("Au revoir")
                    sys.exit()
                else:
                    print("Faux")
                    correct = False
                    break
     
     
    play(dico)
    Ok, il manque la gestion des erreurs, une method pour poser les questions dans l'ordre, et un moyen de stopper quand toutes les questions ont été posées. Mais j'ai pu trop le temps...

    Ciao


    PS: Pour poster du code c'est la balise #

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Ok merci, je vais voir ça.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    par contre je suis sur python et non java

  9. #9
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2010
    Messages : 658
    Points : 1 158
    Points
    1 158
    Par défaut
    Citation Envoyé par quentinodia Voir le message
    par contre je suis sur python et non java
    On fera comme si avait rien vu....

Discussions similaires

  1. cherche nom d'une fonction
    Par noobyyy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/01/2010, 23h33
  2. [Python Web] Cherche des fonctions ...
    Par kedare dans le forum Réseau/Web
    Réponses: 25
    Dernier message: 05/10/2006, 14h07
  3. Cherche nom de fonction
    Par DeezerD dans le forum Langage
    Réponses: 4
    Dernier message: 15/10/2005, 01h14
  4. cherche une fonction qui permet de faire une recherche
    Par vbcasimir dans le forum Langage
    Réponses: 7
    Dernier message: 01/09/2005, 17h24
  5. Cherche Nom des touches du clavier
    Par juan64 dans le forum C++Builder
    Réponses: 8
    Dernier message: 23/07/2002, 19h11

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