Débutant / Faire fonctionné prog + erreur ...
Gecko59146
-
jee pee Messages postés 41520 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41520 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis débutant en python , et j'ai trouvé intéressant un programme que j'ai trouvé sur internet . Mais , je n'arrive pas a le faire fonctionné , de plus j'ai l'impression qu'il comporte des erreurs ... Le but du programme : c'est un jeu entre 2 joueurs , ils mettent pseudo et on des vies . Le but étant de trouver un nombre aléatoire entre 1 et 100 choisis par la calculatrice qui dit moins on plus et le nombres de vie pour chaque joueur .
Pourriez-vous m'aider ?
Merci par avance
Je suis débutant en python , et j'ai trouvé intéressant un programme que j'ai trouvé sur internet . Mais , je n'arrive pas a le faire fonctionné , de plus j'ai l'impression qu'il comporte des erreurs ... Le but du programme : c'est un jeu entre 2 joueurs , ils mettent pseudo et on des vies . Le but étant de trouver un nombre aléatoire entre 1 et 100 choisis par la calculatrice qui dit moins on plus et le nombres de vie pour chaque joueur .
Pourriez-vous m'aider ?
import random class joueurs : def __init__(self, vies , pseudo): self.vies = vies self.pseudo = pseudo def jouer(self): appreciation = "?" n = (0,100) while self.vies >0: message = appreciation +" -- " + self.pseudo + ":" + str(self.vies) + "vies restantes. Nombre choisi: " var = input(message) var = int(vars) if var < n : appreciation = "trop bas" print(vies, var, appreciation) else : appreciation = "trop haut" print(vies, var , appreciation) if var == n: appreciation = "bravo !" print(vies , var , appreciation) break self.vies -=1 # Initialisation des deux joueurs j1 = joueurs(10, "joueur 1") j2 = joueurs(10, "joueur 2") # j1 et j2 jouent j1.jouer() j2.jouer() # Nombre de vies restantes à chaque joueur print("Nombre de vies restantes à chaque joueur") print(j1.pseudo + ":" + str(j1.vies) + "restantes") print(j2.pseudo + ":" + str(j2.vies) + "restantes") # Résultat de la partie print("Résultat de la partie") if j1.vies < j2.vies : print(j1.pseudo + "a gagné la partie") elif j1.vies == j2.vies : print("match ,nul") else: print(j2.pseudo + "a gagné la partie")
Merci par avance
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Débutant / Faire fonctionné prog + erreur ...
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
si tu veux progresser, je pense préférable de commencer par des programmes plus simples.
si tu veux progresser, je pense préférable de commencer par des programmes plus simples.
Salut !
Alors oui y'a des erreurs... Et oui effectivement si tu débutes en Python... Commencé par quelques choses avec des classes c'est pas fou comme idée.
Si tu veux quand même corriger le code...
-Des noms de variables sont erronées (exemple : vies au lieu de self.vies, vars au lieu de var...)
-Le nombre généré aléatoirement.. Bah c'est pas un nombre mais c'est un tuple et c'est pas aléatoire...
Si tu veux quand même une version corrigée, je te laisse comparer la tienne et celle-ci :
Je suis normalement pas fan de commenter un poste pour dire à quelqu'un "laisse c'est trop dur" comme c'est un forum d'entre-aide... Mais je devais te le dire quand même !
Bon courage !
Alors oui y'a des erreurs... Et oui effectivement si tu débutes en Python... Commencé par quelques choses avec des classes c'est pas fou comme idée.
Si tu veux quand même corriger le code...
-Des noms de variables sont erronées (exemple : vies au lieu de self.vies, vars au lieu de var...)
-Le nombre généré aléatoirement.. Bah c'est pas un nombre mais c'est un tuple et c'est pas aléatoire...
Si tu veux quand même une version corrigée, je te laisse comparer la tienne et celle-ci :
import random class Joueurs: def __init__(self, vies, pseudo): self.vies = vies self.pseudo = pseudo def jouer(self): appreciation = "?" n = random.randint(0, 100) print(n) while self.vies > 0: message = appreciation + " -- " + self.pseudo + ":" + str(self.vies) + "vies restantes. Nombre choisi: " var = input(message) var = int(var) if var < n: appreciation = "trop bas" print(self.vies, var, appreciation) else: appreciation = "trop haut" print(self.vies, var, appreciation) if var == n: appreciation = "bravo !" print(self.vies, var, appreciation) break self.vies -= 1 # Initialisation des deux joueurs j1 = Joueurs(10, "joueur 1") j2 = Joueurs(10, "joueur 2") # j1 et j2 jouent j1.jouer() j2.jouer() # Nombre de vies restantes à chaque joueur print("Nombre de vies restantes à chaque joueur") print(j1.pseudo + ":" + str(j1.vies) + "restantes") print(j2.pseudo + ":" + str(j2.vies) + "restantes") # Résultat de la partie print("Résultat de la partie") if j1.vies < j2.vies: print(j1.pseudo + "a gagné la partie") elif j1.vies == j2.vies: print("match ,nul") else: print(j2.pseudo + "a gagné la partie")
Je suis normalement pas fan de commenter un poste pour dire à quelqu'un "laisse c'est trop dur" comme c'est un forum d'entre-aide... Mais je devais te le dire quand même !
Bon courage !
Exacte, sinon le else est aussi pris en compte... Merci beaucoup ! Ca m'apprendra à vouloir corriger sans tester !
à changer en :
Encore désolé pour l'erreur !
if var < n: appreciation = "trop bas" print(self.vies, var, appreciation) else: appreciation = "trop haut" print(self.vies, var, appreciation) if var == n: appreciation = "bravo !" print(self.vies, var, appreciation) break
à changer en :
if var < n: appreciation = "trop bas" print(self.vies, var, appreciation) elif var == n: appreciation = "bravo !" print(self.vies, var, appreciation) break else: appreciation = "trop haut" print(self.vies, var, appreciation)
Encore désolé pour l'erreur !