copiez collez dans un editeur et testez vous meme !!
#---------------------------------------------------------------------
import random
eccart=int(input("entrez une valeur maximale qui definira l'ecart de jeu (vous jouerez entre 0 et la valeur max) : \n"))
historique=[]
choix=int(input("choisissez votre maniere de jouer! (1 ou 2) 1: vous devinez 2: la machine devine :\n"))
#choix du mode de jeu
while (choix!=1 and choix!=2):
choix=int(input(" ENTREE NON VALIDE choisissez votre maniere de jouer! (1 ou 2) 1: vous devinez 2: la machine devine :\n"))
#previens la casse si le choix n'est pas valide
#-------------------------------------------------------------------------------------------------------------------------
"""fonction de guess PAR l'humain"""
def human_guess():
n=random.randint(1, eccart) #l'algo definit une valeur aleatoire dès le debut qui sera inchangée
guess=int(input("entrez un nombre: "))
while guess != n: #test des valeurs
if guess < n :
historique.append(f"guess: {guess}")
print(f"Mon nombre est plus grand que {guess} ;) \n")
guess=int(input("entrez un nombre: "))
elif guess > n :
historique.append(f"guess: {guess}")
print(f"Mon nombre est plus petit que {guess} ;) \n")
guess=int(input("entrez un nombre: "))
historique.append(f"final guess : {guess}")
print("\nBRAVO HUMAIN TU DEPASSES LES ESPOIRS MIS EN TOI, TU M'AS VAINCU \n")
print(f"voici l'historique de tes guess : {historique}")
print(f"\ntu as trouvé en {len(historique)} coups")
"""on verifie si elle est plus grande ou plus petite, on ajoute a l'historique, et dès que la valeur correspond, on return la phrase finale puis l'historique dans lequel on append chaque guess"""
#-------------------------------------------------------------------------------------------------------------------------
#ici on definit les differentes fonction pour "accelerer le processus"
"""premier cas si l'eccart est inferieur a 100"""
def machine_guess100():
i = 0
j = eccart
while i <= j:
guess = random.randint(i, j)
print(f"Je pense à : {guess}")
response = input("Est-ce le bon nombre? (= pour oui, + pour plus grand, - pour plus petit) : \n").lower()
if response == '=':
historique.append(f"final guess : {guess}")
print(f"J'ai trouvé ! Ton nombre était {guess}.")
print(f"Voici l'historique de mes essais : {historique}")
print(f"\nj'ai trouvé en {len(historique)} coups")
break
elif response == '+':
historique.append(f"guess: {guess}")
i = guess + 1
elif response == '-':
historique.append(f"guess: {guess}")
j = guess - 1
else:
print("Réponse invalide. Veuillez répondre par '=', '+', ou '-'.\n")
if i > j:
print("Erreur : bornes incohérentes, tu t'es peut-être trompé dans tes signes ;).")
def machine_guess1000():
i = 0
j = eccart
while i <= j:
if j - i <= 100:
machine_guess100()
return
guess = random.randint(i, j)
print(f"Je pense à : {guess}")
response = input("Est-ce le bon nombre? (= pour oui, + pour plus grand, - pour plus petit) : \n").lower()
if response == '=':
historique.append(f"final guess : {guess}")
print(f"J'ai trouvé ! Ton nombre était {guess}.")
print(f"Voici l'historique de mes essais : {historique}")
print(f"\nj'ai trouvé en {len(historique)} coups")
return
elif response == '+':
historique.append(f"guess: {guess}")
i = guess + 10
elif response == '-':
historique.append(f"guess: {guess}")
j = guess - 10
else:
print("Réponse invalide. Veuillez répondre par '=', '+', ou '-'.\n")
if i > j:
print("Erreur : bornes incohérentes, tu t'es peut-être trompé dans tes signes ;).")
def machine_guess100000():
i = 0
j = eccart
while i <= j:
if j - i <= 1000:
machine_guess1000()
return
guess = random.randint(i, j)
print(f"Je pense à : {guess}")
response = input("Est-ce le bon nombre? (= pour oui, + pour plus grand, - pour plus petit) : \n").lower()
if response == '=':
historique.append(f"final guess : {guess}")
print(f"J'ai trouvé ! Ton nombre était {guess}.")
print(f"Voici l'historique de mes essais : {historique}")
print(f"\nj'ai trouvé en {len(historique)} coups")
return
elif response == '+':
historique.append(f"guess: {guess}")
i = guess + 100
elif response == '-':
historique.append(f"guess: {guess}")
j = guess - 100
else:
print("Réponse invalide. Veuillez répondre par '=', '+', ou '-'.\n")
if i > j:
print("Erreur : bornes incohérentes, tu t'es peut-être trompé dans tes signes ;).")
def machine_guess():
if eccart >= 100000:
machine_guess100000()
elif eccart >= 1000:
machine_guess1000()
else:
machine_guess100()
if(choix==1):
print("LET'S GO TE BATTRE CONTRE L'ALGO : ")
print(" ________________")
print(" |'-.--._ _________:")
print(" | / | __ __\\")
print(" | | _ | [\\_\\= [\\_\\")
print(" | |.' '. \\.........|")
print(" | ( <) ||: :|_")
print(" \\ '._.' | :.....: |_(o")
print(" '-\\_ \\ .------./")
print(" _ \\ ||.---.|| _")
print(" / \\ '-._|/\\n~~\\n' | \\")
print(" (| []=.--[===[()]===[) |")
print(" <\\_/ \\_______/ _.' /_/")
print(" /// (_/_/")
print(" |\\\\ [\\\\")
print(" ||:| | I|")
print(" |::| | I|")
print(" ||:| | I|")
print(" ||:| : \\:")
print(" |\\:| \\I|")
print(" :/\\: ([])")
print(" ([]) [|")
print(" || |\\_")
print(" _/_\\_ [ -'-.__")
print(" <] \\> \\_____.>")
print(" \\__/")
human_guess()
if(choix==2):
print("L'ALGO VA CHERCHER VOTRE VALEUR (pensez y fort et garder votre nombre en tete) : \n")
print(" XXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
print(" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
print(" XXXXXXXXXXXXXXXXXX XXXXXXXX")
print("XXXXXXXXXXXXXXXX XXXXXXX")
print("XXXXXXXXXXXXX XXXXX")
print(" XXX _________ _________ XXX ")
print(" XX I _xxxxx I xxxxx_ I XXX")
print(" ( X----I I I----X )")
print("( +I I 00 I 00 I I+ )")
print(" ( I I __0 I 0__ I I )")
print(" (I I______ / \\______I I)")
print(" I ( ___ ) I")
print(" I _ ::::::::::::::: _ i")
print(" \\ \\___ ::::::::: ___/ /")
print(" \\_ \\_________/ _/")
print(" \\ \\___, /")
print(" \\ /")
print(" |\\ /|")
print(" | \\_________/ |")
machine_guess()