Débutant / Faire fonctionné prog + erreur ...
Gecko59146
-
jee pee Messages postés 42414 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 42414 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 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- J'aime par erreur facebook notification - Forum Facebook
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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 !