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 :

JEU - pierre, feuille, ciseau


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2019
    Messages : 16
    Par défaut JEU - pierre, feuille, ciseau
    Hi, j'ai tenté le tout pour le tout pour corriger mon code mais je ne trouve pas de solution je vous le link en dessous ! Et je cherche une commande pour dire : "Appuyer sur entrer pour recommencer le jeux" et ou ça recommence si on appuie et si on appuie ailleurs ça ferme ! Et mon soucis est que ma fonction RESULTAT parfois n'affiche aucun gagnant ni perdant ! Je précise que je suis ouvert à tous mais que je reste débutant.

    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
    from random import *
     
    input("Pour commencer a jouer APPUYER sur entrer")
    p1=input("Entrer le prénom du joueur 1:")
    p2=input("Entrer le prénom du joueur 2:")
    x=0
    l=0
     
    def JEUXp1(x):
        x=randint(1,3) #p1
        return x
     
    def JEUXp2(l):
        l=randint(1,3) #p2
        return l
     
    #-------------------
    JEUXp1(x)
    JEUXp2(l)
    #-------------------
     
    def RESULTAT():
        if JEUXp1(x)==JEUXp2(l):
            print("Personne ne gagne")
        elif JEUXp1(x)==1:
            if JEUXp2(l)==2:
                print(p2,"gagne",p1)
            elif JEUXp2(l)==3:
                print(p1,"gagne",p2)
        elif JEUXp1(x)==2:
            if JEUXp2(l)==1:
                print(p1,"gagne",p2)
            elif JEUXp2(l)==3:
                print(p2,"gagne",p1)
        elif JEUXp1(x)==3:
            if JEUXp2(l)==1:
                print(p2,"gagne",p1)
            elif JEUXp2(l)==2:
                print(p1,"gagne",p2)
     
    RESULTAT()
     
    input()

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Sélectionne ton code et clique sur le bouton qui contient un #

    Tout d'abord, ceci ne sert à rien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #-------------------
    JEUXp1(x)
    JEUXp2(l)
    #-------------------
    Ensuite dans ton code tu fais sans cesse appel aux fonctions JEUXp1() et JEUXp2() donc tu recrées à chaque fois un nombre aléatoire, ne t'étonne pas qu'il n'y ait parfois pas de solution.

    Pour choisir de continuer le jeu ou le quitter il faut aussi mettre cela dans une fonction.

    Accessoirement l'argument des deux premières fonctions est inutile.

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2019
    Messages : 16
    Par défaut
    Merci de ta réponse pour l'affichage du code sur le forum je crois avoir compris. J'ai corriger mes fautes avec la fonction qui se redéfinis tous le temps en les fixant sur des variables a et b. Les deux premières fonction ne servent a rien puisque je peut l'associer direct à la variable mais c'est pour mieux comprendre pour moi car je suis débutant. Maintenant je n'est absolument pas compris le concept pour que sa se répète ?

    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
    #-------------------
     
    from random import *
     
    input("Pour commencer a jouer APPUYER sur entrer")
    p1=input("Entrer le prénom du joueur 1:")
    p2=input("Entrer le prénom du joueur 2:")
    x=0
    l=0
     
    def JEUXp1(x):
        x=randint(1,3) #p1
        return x
     
    def JEUXp2(l):
        l=randint(1,3) #p2
        return l
     
    #-------------------
    a=JEUXp1(x)
    b=JEUXp2(l)
    #-------------------
     
    def RESULTAT(a,b):
        if a==b:
            print("Personne ne gagne")
        elif a==1:
            if b==2:
                print(p2,"gagne",p1)
            elif b==3:
                print(p1,"gagne",p2)
        elif a==2:
            if b==1:
                print(p1,"gagne",p2)
            elif b==3:
                print(p2,"gagne",p1)
        elif a==3:
            if b==1:
                print(p2,"gagne",p1)
            elif b==2:
                print(p1,"gagne",p2)
     
    RESULTAT(a,b)
     
    input()
     
    #-------------------

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    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 840
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par PierreLPP Voir le message
    Maintenant je n'est absolument pas compris le concept pour que sa se répète ?
    Punaise, Lycéen et incapable de savoir différencier "avoir" et "être" ; ni la différence entre le pronom possessif "sa" et le pronom démonstratif "ça" (cela). Cela est lamentable.

    Pour en revenir à Python, (ou tout autre langage de prog), pour répéter une action il faut encapsuler cette action dans une boucle.
    Si la boucle est avec un nombre prévisible d'itérations, alors on peut utiliser le for. Sinon on se rabat sur un while. Les tutoriels t'expliqueront comment on s'en sert.

    Citation Envoyé par PierreLPP Voir le message
    Les deux premières fonction ne servent a rien puisque je peut l'associer direct à la variable
    Je confirme. Il n'y a aucune différence entre JEUXp1() et JEUXp2() qui font exactement les mêmes actions l'une et l'autre. De plus aussi bien l'une que l'autre reçoivent un paramètre qui ne leur sert à rien.

    Enfin concernant l'évaluation du gagnant et du perdant, tu ne penses pas qu'il y a plus simple que tous ces tests imbuvables ? Les actions sont 1, 2 et 3. 1 gagne 2, 2 gagne 3 et 3 gagne 1 (ou alors c'est l'inverse, on s'en fout). Tu ne sens pas confusément comme une espèce de cercle lié où chaque item bat celui qui est devant lui mais est battu par celui qui est derrière ?

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def RESULTAT(a,b):
    	if a==b:
    		print("Personne ne gagne")
    	elif a % 3 + 1 == b:
    		print(p2, "gagne", p1)
    	else:
    		print(p1, "gagne", p2)
    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]

  5. #5
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2019
    Messages : 16
    Par défaut
    Re, merci pour ton aide je vais me rencarder pour le "while" mais petite question, a quoi sert le signe bizarre et le == après le return ? je n'AI pas compris comment "main" fonctionne.

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    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 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par PierreLPP Voir le message
    mais petite question, a quoi sert le signe bizarre et le == après le return ?
    Tu devrais vraiment vraiment lire un tutoriel. Le signe bizarre est le modulo (reste d'une division entière). Et pour le return j'ai corrigé mon code et supprimé cette fonction à la réflexion peu utile.
    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]

Discussions similaires

  1. Réponses: 19
    Dernier message: 21/02/2019, 12h21
  2. Pierre Feuille Ciseaux JS
    Par Uisge Beatha dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 24/08/2018, 14h30
  3. Championnat du monde de feuille caillou ciseau
    Par Invité dans le forum La taverne du Club : Humour et divers
    Réponses: 7
    Dernier message: 18/12/2007, 10h53
  4. Pierre Feuille Ciseaux
    Par Wilvart dans le forum C++
    Réponses: 12
    Dernier message: 20/08/2006, 13h19
  5. [Conception] Concevoir le jeu Pierre Feuille Ciseau
    Par websurfeur dans le forum Général Java
    Réponses: 14
    Dernier message: 17/03/2006, 19h26

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