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 - débutant Python


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 11
    Par défaut Aide - débutant Python
    Bonsoir, voici un programme que nous devons réaliser :

    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
     
     
    #Exo 3
    import random
     
    def genere_nombre(x):
        x = random.randint(0, 10)
        return x;
     
    def demande_coup(p):
        p = int(input("Votre proposition ? : "))
        return p;
     
    def compare_nombre(x,p):
        if x<p:
            return -1;
        if x>p:
            return 1;
        if x==p:
            return 0;
     
    def partie():
        i = 1
        mystere  = genere_nombre(mystere)
        coup     = demande_coup(coup)
        resultat = compare_nombre(mystere,coup)
     
        while resultat !=0:
            print("Proposition fausse, essayer de nouveau.")
            coup = demande_coup(coup)
            resultat = compare_nombre(mystere,coup)
            i = i + 1
        print("Bravo vous avez trouvé le nombre mystère ",mystere," en ",i," coups")
     
     
    random.seed(10)
    partie()
    Lorsque j’exécute ce programme je reçois le message d'erreur suivant : NameError: name 'mystere' is not defined et je n'arrive pas à comprendre pourquoi, merci d'avance pour votre aide.
    (pour cette exercice l'utilisation de variable global nous est interdite)

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    ligne 24, vous avez écrit: mystere = genere_nombre(mystere) i.e. vous appelez une fonction avec une variable qui n'est pas définie d'où NameError.
    note: avec Python une variable se définit en lui assignant une valeur/objet.

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

  3. #3
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Remarque : pour les deux lignes suivantes, il y aura le même type d'erreur.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 11
    Par défaut
    Merci pour votre réponse maintenant ça fonctionne

    Cette fois c'est un autre problème que je constate, le nombre aléatoire généré est 9 à chaque fois, sauriez-vous pourquoi ?

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par lucasvvv Voir le message
    Cette fois c'est un autre problème que je constate, le nombre aléatoire généré est 9 à chaque fois, sauriez-vous pourquoi ?
    C'est ce qui a été demandé (et provoqué) avec l'instruction random.seed(10).

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

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    La fonction random de python est pseudo aléatoire. C'est à dire qu'elle prend en paramètre une graine (seed) et pour chaque graine donnée, on aura une série donnée pour les appels successifs de rand.

    Pour que le résultat du tirage soit tous le temps différent, tu dois donner des graines différentes. Par exemple tu peux en donner une qui dépends du moment où tu exécutes le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import time
    graine = int(time.time())
    print("Le générateur de nombre aléatoire est initialisé avec la graine suivante: ",graine)
    random.seed( graine )

Discussions similaires

  1. Aide probleme python débutant
    Par julesd_ dans le forum Général Python
    Réponses: 7
    Dernier message: 27/08/2016, 15h45
  2. aide pour un débutant python
    Par daniel130 dans le forum Général Python
    Réponses: 12
    Dernier message: 12/12/2009, 17h44
  3. [SWING] Besoin d'aide -- Débutant
    Par calimero2611 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 12/07/2006, 15h37
  4. Aide débutant instruction VBA tableau Excell
    Par damien33 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/09/2005, 10h31
  5. [aide débutant servlet]
    Par viny dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/03/2004, 10h18

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