Vérification d'une boucle
Salut Lucas, ne fait pas de screen comme ça, utilise le formatage de code depuis l'éditeur directement.
Mais ça ne va pas, tu utilises isdigit sur une liste.
print = True, pourquoi ?
if int in ? Il faudrait plutôt utiliser isinstance.
Il y a plusieurs boucles imbriquées mais ce n'est pas clair ici.
Il faudrait revoir les leçons de bases sur les boucles pour reprendre les concepts.
Bonjour,
Voici un extrait de ma liste de courses orienté objet.
Cordialement.

Bonjour,
Est-ce que tu pourrais formater ton code depuis l'éditeur ? avec des screens ce n'est pas simple.

Je vois plusieurs points qui ne vont pas :
-
Il faut revoir la syntaxe
-
L'indentation
-
Et pas mal d'autres choses.
Il faudrait que tu te poses pour revoir les bases de Python, et la POO.
Gabriel
Bonjour,
Je voudrais savoir quel cours docstring parle de la fonction ASCII ?
Cordialement.
Salut,
Il n'y a pas directement de cours sur l'ascii.
Mais je te conseille de regarder les fonctions :
ord('A') # retourne 65 (code ASCII de 'A')
chr(65) # retourne 'A' (caractère correspondant au code 65)
Tu as même la fonction ascii pour avoir une représentation ascii :
s = "voilà"
print(ascii(s))
# Résultat : 'voil\\xe0'
Bonjour,
Je vous soumet ci dessous ma liste de courses. Y'a t'il des erreurs ?
Cordialement


Bonjour Lucas,
Malheureusement, nous ne pouvons pas t'aider correctement si tu n'y mets pas un peu du tiens : nous pouvons corriger ton code et répondre à tes questions, mais avec une capture d'écran, ça nécessite de tout recopier à la main de notre côté, on perd beaucoup de temps à chaque fois.
Copie-colle ton code au format texte, en le mettant en forme avec le bouton de code dans l'éditeur, comme te l'as indiqué Gabriel.
Sans ça, nous ne pourrons pas t'aider pour ton code et nous serons obligés de fermer ces conversations.
Bien à toi,
Thibault.
from random import randint
nombre_a_trouver = (0,100)
tentatives = 5
print('**le jeu du nombre mystere**')
while tentatives > 0:
print(f"il vous reste {tentatives} essai{'s' if tentatives > 1 else''}")
choix_util = input("deviner le nombre :")
if not choix_util.isdigit():
print("veuillez choisir un nombre valide :")
continue
choix_util = int(choix_util)
if nombre_a_trouver > choix_util:
print(f"le nombre mystere est plus grand que {choix_util}")
elif nombre_a_trouver < choix_util:
print(f"le nombre mystere est plus petit que {choix_util}")
elif nombre_a_trouver == choix_util:
break
tentatives -= 1
if tentatives == 0:
print(f"Dommage le nombre mystere etait {nombre_a_trouver}")
else:
print(f"Bravo le nombre mystere est bien {nombre_a_trouver}")
print("fin du jeu")
Bonjour Thibault,
Désolé encore pour l'incident, j'avais en effet un probleme avec mon PC, mes plus sincères excuses pour cette perte de temps.
Cordialement.
Je viens de le modifier légèrement :
from random import randint
# Générer un nombre aléatoire entre 0 et 100
nombre_a_trouver = randint(0, 100)
tentatives = 5
print('**Le jeu du nombre mystère**')
while tentatives > 0:
print(f"il vous reste {tentatives} essai{'s' if tentatives > 1 else''}")
choix_util = input("Devinez le nombre :")
if not choix_util.isdigit():
print("Veuillez entrer un nombre valide :")
continue
choix_util = int(choix_util)
if nombre_a_trouver > choix_util:
print(f"le nombre mystere est plus grand que {choix_util}")
elif nombre_a_trouver < choix_util:
print(f"le nombre mystere est plus petit que {choix_util}")
elif nombre_a_trouver == choix_util:
break
# Décrémenter les tentatives après chaque essai
tentatives -= 1
if tentatives == 0:
print(f"Dommage le nombre mystère était {nombre_a_trouver}")
else:
print(f"Bravo le nombre mystère est bien {nombre_a_trouver}")
print("fin du jeu")
from datetime import datetime
from random import randint
heures =randint(0,25)
while heures >0:
print("L'heure indiquee doir se situer entre 0 et 24")
choix_heure =input("Veuillez choisir une heure :")
if not choix_heure.isdigit():
print("Veuillez choisir une heure valide")
heures =int(heures)
if choix_heure > heures:
print("L'heure choisie n'est pas valide")
else:
print("L'heure indiquee doir se situer entre 0 et 24")
if choix_heure < heures:
print("Veuillez choisir une heure :")
elif choix_heure == heures:
break
if heures >=7:
print("Il est tres tot")
else:
print("C'est l'heure de se lever")
if heures >=12:
print("C'est l'heure de la pause")
else:
print("On retourne aux activites")
if heures >=18:
print("La journee est finie")
else:
print("Quelle hate de rentrer se reposer")
if heures >=21:
print("C'est l'heure d'aller au lit")
else:
print("Bonne nuit")
print("fin")
Bonjour,
J'ai créé cette horloge. Fonctionne t'elle correctement ?
Cordialement.
Salut,
Petite correction rapide :
# On importe la fonction randint pour pouvoir générer un nombre aléatoire
from random import randint
# CORRECTION : On choisit une heure secrète entre 0 et 23.
# Votre code utilisait randint(0, 25), mais les heures d'une journée vont de 0 à 23.
# J'ai aussi renommé la variable en 'heure_secrete' pour plus de clarté.
heure_secrete = randint(0, 23)
print("--- Devinez l'heure ! ---")
print("J'ai choisi une heure entre 0 et 23. À vous de la trouver.")
# CORRECTION : On utilise une boucle infinie 'while True'.
# Votre boucle 'while heures > 0' dépendait de la valeur aléatoire et pouvait ne jamais se lancer.
# Celle-ci tournera jusqu'à ce qu'on la quitte avec l'instruction 'break'.
while True:
choix_heure_str = input("Veuillez proposer une heure : ")
# CORRECTION : On vérifie si l'entrée est bien un nombre AVANT de continuer.
# Si l'utilisateur ne tape pas un chiffre, on affiche une erreur et on recommence la boucle.
if not choix_heure_str.isdigit():
print("Erreur : Veuillez entrer un nombre entier valide.")
continue # 'continue' passe à l'itération suivante de la boucle
# CORRECTION : On convertit l'entrée de l'utilisateur en nombre entier.
# C'est une étape cruciale. Votre code ne le faisait pas et comparait du texte avec un nombre.
heure_choisie = int(choix_heure_str)
# CORRECTION : On compare l'heure choisie avec l'heure secrète pour guider l'utilisateur.
if heure_choisie < heure_secrete:
print("C'est plus tard !")
elif heure_choisie > heure_secrete:
print("C'est plus tôt !")
else:
# Si les heures sont égales, l'utilisateur a gagné !
print(f"Bravo ! L'heure secrète était bien {heure_secrete}h.")
# CORRECTION : La logique des messages a été entièrement revue.
# On utilise des 'elif' (sinon si) pour qu'un SEUL message s'affiche.
# Dans votre code, plusieurs messages pouvaient s'afficher en même temps (ex: pour 19h).
if heure_secrete < 7:
print("C'est l'heure de se lever !")
elif heure_secrete < 12:
print("C'est la matinée, l'heure des activités.")
elif heure_secrete < 18:
print("C'est l'après-midi, bientôt la pause.")
elif heure_secrete < 21:
print("La journée est finie, place à la soirée.")
else: # Pour les heures de 21 à 23
print("C'est l'heure d'aller se coucher. Bonne nuit !")
# CORRECTION : On utilise 'break' pour sortir de la boucle 'while'.
# Le jeu s'arrête car la bonne heure a été trouvée.
break
print("--- Fin du jeu ---")
import sys
carte_resto =input("""
1.concombres creme
2.salade nicoise
3.soupe de legumes
4.poulet avec riz
5.glace vanille
""")
supplement ="je prendrais autre chose avec"
while True:
choix_client =input("veuillez choisir un numero de plat :")
while choix_client not in carte_resto:
print("veuillez choisir un menu valide")
if choix_client ==1:
print("je prendrais des concombres_creme")
else:
choix_client +=supplement
print("je prendrais autre chose avec")
if choix_client ==2:
print("je prendrais une salade_nicoise")
else:
choix_client +=supplement
print("je prendrais autre chose avec")
if choix_client ==3:
print("je prendrais une soupe de legumes")
else:
choix_client +=supplement
print("je prendrais autre chose avec")
if choix_client ==4:
print("je prendrais du poulet avec riz")
else:
choix_client +=supplement
print("je prendrais autre chose avec")
if choix_client ==5:
print("je prendrais une glace vanille")
else:
choix_client +=supplement
print("je prendrais autre chose avec")
break
print("---Bon appetit---")
Bonjour,
Voici un menu que j'ai rédigé.
Qu'en pensez vous ?
Cordialement.
Alors, ton code a quelques soucis techniques qui l'empêchent de bien fonctionner. Le problème principal, c'est que tu compares choix_client (qui est une chaîne de caractères comme "1", "2"...) avec des nombres entiers (1, 2, 3...) dans tes conditions if. En Python, "1" n'est pas égal à 1, donc tes conditions ne se déclenchent jamais.
Ensuite, ta boucle while choix_client not in carte_resto ne peut pas marcher parce que carte_resto contient tout le texte du menu, pas juste les numéros valides. Et même si elle marchait, elle tournerait à l'infini car tu ne redemandes pas de saisie à l'intérieur.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte

