Mon programme ne fonctionne pas correctement !
Multi73
Messages postés
88
Date d'inscription
Statut
Membre
Dernière intervention
-
Multi73 Messages postés 88 Date d'inscription Statut Membre Dernière intervention -
Multi73 Messages postés 88 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon programme pierre feuille ciseaux ne fonctionne pas correctement !
Mon programme :
Pouvez vous me dire les points qui fait cela ?
Merci
Bonne soirée
Mon programme pierre feuille ciseaux ne fonctionne pas correctement !
Mon programme :
import random point_pc = 0 point_joueur = 0 def egalite(): print("Aucun point n'est attribué !") def point_pc(): print("Point attribué à l'ordinateur") point_pc = point_pc + 1 def point_joueur(): print("Point attribué au joueur") point_joueur = point_joueur + 1 liste = ["pierre", "feuille", "ciseaux"] reponse_choisie = random.choice(liste) reponse_joueur = input("Choisi entre: pierre ou feuille ou ciseaux") bonne_reponse = print(reponse_choisie) if reponse_joueur == bonne_reponse or reponse_joueur == bonne_reponse or reponse_joueur == bonne_reponse: egalite() if reponse_joueur == "pierre" and bonne_reponse == "ciseaux" or reponse_joueur == "feuille" and bonne_reponse == "pierre" or reponse_joueur == "ciseaux" and bonne_reponse == "feuille": point_joueur() if bonne_reponse == "pierre" and reponse_joueur == "ciseaux" or bonne_reponse == "feuille" and reponse_joueur == "pierre" or bonne_reponse == "ciseaux" and reponse_joueur == "feuille": point_pc() else: print("Erreur !") if point_pc == 10: print("Vous avez perdu !") if point_joueur == 10: print("Vous avez ganez")
Pouvez vous me dire les points qui fait cela ?
Merci
Bonne soirée
A voir également:
- Mon programme ne fonctionne pas correctement !
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Comment fermer un programme qui ne répond pas - Guide
- Mettre en veille un programme - Guide
4 réponses
Bonjour
ça ne nous permet pas d'essayer de t'aider.
Est ce
Mon programme pierre feuille ciseaux ne fonctionne pas correctement
ça ne nous permet pas d'essayer de t'aider.
Est ce
- qu'il plante? Si oui, il faut poster le message d'erreur
- qu'il ne fait pas ce que tu veux, dans ce cas, décrit ce que tu voudrais et ce qui se passe
- autre, décrit
Bonjour,
Il manque une chose fondamentale à ton programme, une boucle, là tu ne peux saisir qu'un seul choix du joueur et c'est fini. Par exemple utiliser while ....
Ton else n'est lié qu'au dernier if, alors qu'il faudrait tous les chainer avec des elif.
Quand tu utilises and et or sur un if, il faut des parenthèses pour ordonner les tests
Ne pas donner un même nom à une variable et une fonction : point_pc et point_pc()
Il faut être plus causant pour savoir où on en est avec des prints, je me suis passé des fonctions, à toi de les rajouter si tu veux, j'ai rajouté un max, car 10 tours c'est très long ;-)
Il manque une chose fondamentale à ton programme, une boucle, là tu ne peux saisir qu'un seul choix du joueur et c'est fini. Par exemple utiliser while ....
Ton else n'est lié qu'au dernier if, alors qu'il faudrait tous les chainer avec des elif.
Quand tu utilises and et or sur un if, il faut des parenthèses pour ordonner les tests
Ne pas donner un même nom à une variable et une fonction : point_pc et point_pc()
Il faut être plus causant pour savoir où on en est avec des prints, je me suis passé des fonctions, à toi de les rajouter si tu veux, j'ai rajouté un max, car 10 tours c'est très long ;-)
import random point_pc = 0 point_joueur = 0 victoire = 3 print("Bienvenu au jeu pierre feuille ciseaux") while point_pc < victoire and point_joueur < victoire: liste = ["pierre", "feuille", "ciseaux"] reponse_pc = random.choice(liste) reponse_joueur = input("Choisir entre: pierre ou feuille ou ciseaux ") print("Le pc a choisi",reponse_pc) if reponse_joueur == reponse_pc: print("Aucun point n'est attribué !") elif (reponse_joueur == "pierre" and reponse_pc == "ciseaux") or (reponse_joueur == "feuille" and reponse_pc == "pierre") or (reponse_joueur == "ciseaux" and reponse_pc == "feuille"): print("Point attribué au joueur") point_joueur = point_joueur + 1 elif (reponse_pc == "pierre" and reponse_joueur == "ciseaux") or (reponse_pc == "feuille" and reponse_joueur == "pierre") or (reponse_pc == "ciseaux" and reponse_joueur == "feuille"): print("Point attribué à l'ordinateur") point_pc = point_pc + 1 else: print("Erreur !") print("Score joueur/pc",point_joueur,"/",point_pc) if point_pc == victoire: print("Vous avez perdu !") if point_joueur == victoire: print("Vous avez gagné")
Bonjour,
A tout hasard, un algo qui évite tout un tas de if ...elif.... :
A tout hasard, un algo qui évite tout un tas de if ...elif.... :
precedences = ['feuillepierre', 'pierreciseaux', 'ciseauxfeuille'] if(choix_joueur == choix_machine): print('Match nul') else: jeu, jeu_inverse = choix_joueur+choix_machine, choix_machine+choix_joueur for p in precedences: if(p == jeu): print('Joueur gagne !') points_joueur += 1 elif(p == jeu_inverse): print('Ordi gagne !') points_machine += 1