Aide sur programme
Résolu
lecorse
Messages postés
130
Statut
Membre
-
lecorse Messages postés 130 Statut Membre -
lecorse Messages postés 130 Statut Membre -
Bonjour à tous,
Voici un essai de petit programme après mes premières leçons.
Le jeu consiste à deviner le nombre secret aléatoire en x coups (7 ou 10) avec la condition if pour situer si le nombre que j’ai donné est supérieur ou inférieur au nombre aléatoire.
Donc pendant 7 ou 10 fois, avec ou sans boucle ???sauf si je trouve le nombre exact, la condition if me guidera à trouver ou approcher le nombre aléatoire
Après la 7ième ou 10ième fois message ‘ partie terminée vous n’avez pas trouvé’
Pour l’instant je dois faire ‘run’ à chaque fois car en fin de programme la touche Enter ne me permet pas de recommencer un tour avec le même nombre aléatoire.
Je ne trouve pas la solution
Merci pour l’aide
Bonne soirée
PS Je ne sais pas si je suis assez clair !!!
Voici un essai de petit programme après mes premières leçons.
Le jeu consiste à deviner le nombre secret aléatoire en x coups (7 ou 10) avec la condition if pour situer si le nombre que j’ai donné est supérieur ou inférieur au nombre aléatoire.
Donc pendant 7 ou 10 fois, avec ou sans boucle ???sauf si je trouve le nombre exact, la condition if me guidera à trouver ou approcher le nombre aléatoire
Après la 7ième ou 10ième fois message ‘ partie terminée vous n’avez pas trouvé’
Pour l’instant je dois faire ‘run’ à chaque fois car en fin de programme la touche Enter ne me permet pas de recommencer un tour avec le même nombre aléatoire.
Je ne trouve pas la solution
Merci pour l’aide
Bonne soirée
PS Je ne sais pas si je suis assez clair !!!
from random import randint
# Il faut trouver le nombre secret aléatoire en 7 ou 10 coups
# définition des fonctions
def info():
""" Informations """
print("Touche q pour quitter")
print("Touche Enter pour continuer")
#scrip fonction.py
a = randint(1,100)
#print(a) # pour test
i = int(input("donnes un nb"))
# print(i) pour test
if i > a:
print('trop grand')
if i < a:
print('trop petit')
if i == a:
print('trouvé')
# début du programme
info()
while True:
choix = input()
if choix == 'q':
break
a = randint(1,5)
"""Résultat
donnes un nb25
25
trop petit
Touche q pour quitter
Touche Enter pour continuer
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Aide sur programme
- Programme demarrage windows - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Desinstaller un programme sur windows - Guide
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonsoir, ne devrais-tu pas commencer par compter le nombre d'essais?
cela va t'aider à structurer ton programme.
tu parles du nombre de coup, mais ton programme a l'air de superbement ignorer cela.
cela va t'aider à structurer ton programme.
tu parles du nombre de coup, mais ton programme a l'air de superbement ignorer cela.
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
suggestion:
from random import randint
def info():
""" Informations """
print("Touche q pour quitter")
print("Touche Enter pour continuer")
info()
#scrip fonction.py
while True:
print ("nouveau")
a = randint(1,100)
#print(a) # pour test
cp=0
trouve=False
while (cp < 10 and not trouve):
i = int(input("donnes un nb"))
# print(i) pour test
if i > a:
print('trop grand')
if i < a:
print('trop petit')
if i == a:
print('trouve')
trouve = True
cp=cp+1
print ("stop ou encore")
choix = input()
if choix == 'q':
break
Bof, ce double while est inutile
Un script bien plus simple et concis.
Un script bien plus simple et concis.
from random import randint
messages = (
'Entrez un nombre : ',
'UN NOMBRE SVP ! : ',
'Au revoir !',
'Trop grand !',
'Trop petit !',
'Bravo vous avez trouvé !',
'Vous avez perdu, le nombre était {}',
"Devinez le nombre que j'ai choisi, entrez q pour quitter.",
)
max_tentatives = 10
tentatives = 0
nombre = randint(1,100)
print(messages[7])
while True:
choix = input(messages[0])
if choix == 'q':
print(messages[2])
break
elif not choix.isdigit():
print(messages[1])
continue
choix = int(choix)
if choix > nombre:
print(messages[3])
elif choix < nombre:
print(messages[4])
else:
print(messages[5])
break
tentatives += 1
if tentatives == max_tentatives:
print(messages[6].format(nombre))
break