import random

nombre = input("Entrez un nombre")

nombre

"""
Explanation: 1A.1 - Deviner un nombre aléatoire (correction)
On reprend la fonction introduite dans l'énoncé et qui permet de saisir un nombre.
End of explanation
"""


n = random.randint(0,100)
appreciation = "?"
while True:
    var = input("Entrez un nombre")
    var = int(var)
    if var < n : 
        appreciation = "trop bas"
        print(var, appreciation)
        
    else : 
        appreciation = "trop haut"
        print(var, appreciation)
    if var == n:
        appreciation = "bravo !"
        print(var, appreciation)
        break

"""
Explanation: Q1 : Ecrire une jeu dans lequel python choisi aléatoirement un nombre entre 0 et 100, et essayer de trouver ce nombre en 10 étapes.
End of explanation
"""


import random
n = random.randint(0,100)
vies = 10
appreciation = "?"
while vies > 0:
    var = input("Entrez un nombre")
    var = int(var)
    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

    vies -= 1

"""
Explanation: Q2 : Transformer ce jeu en une fonction jeu(nVies) où nVies est le nombre d'itérations maximum.
End of explanation
"""


class joueur:
    def __init__(self, vies, pseudo):
        self.vies = vies
        self.pseudo = pseudo
    
    def jouer(self):
        appreciation = "?"
        n = random.randint(0,100)
        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(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 = joueur(10, "joueur 1")
j2 = joueur(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")

"""
Explanation: Q3 : Adapter le code pour faire une classe joueur avec une méthode jouer, où un joueur est défini par un pseudo et son nombre de vies. Faire jouer deux joueurs et déterminer le vainqueur.
End of explanation
"""


