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 :

Besoin d'aide petit Programme Python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Par défaut Besoin d'aide petit Programme Python
    Bonjour à tous !
    (Ceci est mon premier message sur ce forum et je pense pas le dernier)
    J'ai commencé L'ISN (informatique et science du numérique) cette année au lycée et après 3 ou 4 cours on nous a demandé d'écrire un programme python :

    C'est le jeu des nombres secrets :
    a)L'ordinateur doit générer un nombre de 3 chiffres , et le joueur doit le deviner.
    b)Le nombre d'essai du joueur doit être afficher
    c)Le joueur peut stopper le jeu à tout moment
    d) Et à la fin du jeu, le programme doit demander au joueur si il veut rejouer ou pas.

    Mon jeu marche mais le problème étant sur les deux dernière question :

    j'ai bien compris qu'il fallait attribuer une touche pour stopper le programme mais pas vraiment comment dire au programme comment l’arrêter.

    Mon deuxième problème étant que je ne sais absolument pas comment relancer le programme.

    Voici le programme en question :



    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
     
    print("Jeu du nombre secret")
    print("Le but du jeu étant de deviner un nombre comportant trois chiffres, le jeu vous indiquera si votre proposition est plus grand ou plus petit que le nombre secret. Bonne chance ! ")
    import random
    r = random.randint(100,999)
    print(r)
    a = print("Proposer un chiffre entre 100 et 999")
    i=0
     
    while( a != r ):
        i+=1
        a = int(input("Donner une autre proposition : "))
        if( a < r ):
            print("Le nombre est plus grand !")
        elif(a > r ):
            print("Le nombre est plus petit !")
        else:
            print("Bravo, vous avez gagné le nombre était bien",r,'!')
    print("Votre nombre d'essai(s) est",i)
    merci pour votre futur aide !

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur calcul et simulation
    Inscrit en
    Juin 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur calcul et simulation
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 41
    Par défaut
    Pour relancer le programme, mets le dans une boucle while supplémentaire : quand tu as gagné (donc juste après ton annonce du nombre d'essais), tu demandes avec un rawinput s'il veut recommencer ou pas. Si la réponse est non, tu fais sortir du while, si oui, tu reste dans la boucle et recommence au tout début, là où tu initialise tes paramètres.

    Quant à arrêter le programme à tout moment, j'utiliserai a priori la commande "break" vu que tu es constamment dans des boucles while.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Par défaut
    Merci pour ta réponse, J'ai assez bien compris grâce à toi ce qu'il faut faire mais je n'y arrive toujours pas j'ai essayer d'interrompre le programme en y incorporant : if a == "Q" :
    print("vous avez quitté le Jeu)
    break

    Mais ça ne marche pas je pense que doit définir le Q mais je suis perdu

    Tandis que que je ne comprend pas non plus la fonction du raw_input.
    Mais dans mon sens je dois créer une boucle supplémentaire avant while du coup mais je ne sais pas quel condition mettre (pour moi une condition est "while (a != r) :" )

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Il faut mettre le tout dans une boucle while infinie et couper avec break (ça évitera juste une variable quitter par rapport à une boucle while avec condition).

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur calcul et simulation
    Inscrit en
    Juin 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur calcul et simulation
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 41
    Par défaut
    Voilà une proposition, mais ce serait bien pour toi, que tu réessayes d'abord sans la regarder. C'est en essayant qu'on apprend le mieux.

    D'autres indices : si l'utilisateur écrit Q à la place d'un nombre, alors a==q et si c'est le cas, tu mets un break. Le break te fera sortir de la boucle while directement, donc le q n'a pas besoin d'être dans les conditions du while.

    Pense à utliser "try/except" sinon si l'utilisateur entre une lettre (q au hasard) et que tu essayes de faire un int() dessus, ton programme va planter.

    mon raw_input vient juste du fait que je suis en python 2.7. Pour toi en python 3.X, c'est la même chose que ton input.


    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
    # -*-coding:Utf-8 -*-
     
    import random
     
    jouer = "o"
    while jouer == "o" :
        print("Jeu du nombre secret")
        print("Le but du jeu étant de deviner un nombre comportant trois chiffres, le jeu vous indiquera si votre proposition est plus grand ou plus petit que le nombre secret. Bonne chance ! ")
        print("Vous pouvez quitter à tout moment en appuyant sur Q")
        r = random.randint(100,999)
        print(r)
        a = "0"
        i=0
     
        while( a != r ):
            i+=1
            a = input("Proposez un chiffre entre 100 et 999 : ")
            try :
                a = int(a)
                if a > 99 and a < 1000 :
                    if a < r :
                        print("Le nombre est plus grand !")
                    elif a > r :
                        print("Le nombre est plus petit !")
                    else:
                        print("Bravo, vous avez gagné le nombre était bien",r,'!' )
                        print("Votre nombre d'essai(s) est",i)
                else :
                    print("Votre choix n'est pas compris entre 100 et 999.")
            except :
                if a.lower() == "q" :
                    break
                else :
                    print("Vous n'avez ni entré un nombre ni appuyé sur la touche Q.")
     
        jouer = input("Voulez-vous recommencer ? o/n").lower()
     
    print("Vous avez quitté le jeu")

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Par défaut
    Merci beaucoup, je comprend mieux pour la deuxième boucle du coup et je ne connaissais pas les fonction "try" et "except" du coup bah c'est beaucoup plus facile est compréhensible, mais je bloque encore malheureusement :

    Mon programme marche niquel sauf pour redémarrer!

    Je suis allé chercher ce qu'est le ".lower" mais j'ai pas vraiment compris.
    Si l'on pouvait m'éclairer sur ce sujet, cela serait merveilleux !

Discussions similaires

  1. [TSX Nano-PL707] Besoin d'aide pour programmer
    Par docarno dans le forum Automation
    Réponses: 21
    Dernier message: 04/02/2008, 09h47
  2. Besoin d'aide pour programmation en c
    Par romi36 dans le forum Débuter
    Réponses: 7
    Dernier message: 09/06/2007, 22h55
  3. besoin d'aide sur programme en sql 3
    Par abdel54 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/12/2005, 09h19
  4. aide petit programme pour débutant
    Par kartp0rqx dans le forum C
    Réponses: 16
    Dernier message: 14/10/2005, 19h31

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