Exclusif Premium
Débloquez votre potentiel ! ✨
Cette session fait partie de notre programme Premium exclusif
+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors
Prêt à passer au niveau supérieur ?
Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un comptelive_helpToutes les questions

Peggy
23 novembre 2025
Résolue
2 réponses
Erreurs dans le print corrigé
Bonjour,
Merci pour la correction.
Je comprend l'utilité de créer la variable resultat, plutôt que de faire une opération directement dans la f-string. Ce qui permet de pouvoir la réutiliser ailleurs si besoin.
Par contre, il y a plusieurs erreur sur le print proposé dans le code corrigé : il manque le f pour préciser qu'il s'agit d'une f-string, l'utilisation de l'apostrophe simple pour délimiter la str génère une erreur, car il y a une apostrophe simple dans le texte de la str, les variables ne sont pas entourées de {}. Est-ce intentionnel pour voir si je suis attentive ? Je suis perplexe !

Gaëlle COLLET
6 novembre 2025
Résolue
1 réponse
Calculatrice en Python avec gestion d'exceptions
Bonjour, voici le code correctement formaté :
```python
#calculatrice
#demande entrée premier nombre
premier_nombre_choisi = int(input("Veuillez entrer un premier nombre: "))
#demande entrée second nombre
second_nombre_choisi = int(input("veuillez entre un second nombre: "))
#mise en place de l'addition
resultat_addition = premier_nombre_choisi + second_nombre_choisi
print("le resultat de l'addition du nombre {0} et du nombre {1} est égal {2}".format(premier_nombre_choisi, second_nombre_choisi, resultat_addition))
```
```python
#calculatrice avec exception
while True:
try: # demande entrée premier et seconde nombre
premier_nombre_choisi = int(input("Veuillez entrer un premier nombre : "))
second_nombre_choisi = int(input("Veuillez entrer un second nombre : "))
#mise en place addition
resultat_addition = premier_nombre_choisi + second_nombre_choisi
print("Le résultat de l'addition du nombre {0} et du nombre {1} est égal à {2}.".format(
premier_nombre_choisi, second_nombre_choisi, resultat_addition))
break #sortie de la boucle si conditions OK
except ValueError:
print("Erreur : veuillez entrer un nombre valide. Réessayez.")
```

shouboll
17 septembre 2025
Résolue
1 réponse
Comprendre le mécanisme des deux boucles while True
Je reviens sur l'exercice car je suis au stade (Calculatrice gestions des erreurs) et j'ai réussis à refaire la solution avec les deux while True. Mais je l'ai fait machinalement j'aimerais bien comprendre le mécanisme de ces deux while True. Merci par avance.

Christophe
20 août 2025
Résolue
1 réponse
Calculatrice interactive en Python
```
python
resultat1 = int(input("quel est votre nombre "))
resultat2 = int(input("quel votre nombre"))
resultat3 = (f"votre nombre est {resultat1} + {resultat2} est egale a {resultat2 + resultat1} ")
print(resultat3)
```

alimine
29 janvier 2025
Résolue
1 réponse
Erreur lors de l'ouverture du formulaire de signalement de bug
Quand j'essaie d'ouvrir le formulaire de signalement de bug, j'obtiens une erreur dans la console :
```
script.js?v=97:66 Uncaught TypeError: Cannot set properties of null (setting 'innerText')
at setBugReportValue (script.js?v=97:66:51)
at showModal (script.js?v=97:24:29)
at HTMLSpanElement.onclick (envoyer-ma-solution-2095/?module=5&session=1&course=1:1282:214)
```
Et la fenêtre modale ne montre que le titre sans le contenu ( MODAL CONTENT )

Gilles PAYET
26 janvier 2025
Résolue
2 réponses
Bonjour
J'ai fini l'exercice solution mais visiblement je ne peux plus continuer l'apprentissage !!!
Pas de bouton "continuer"
Merci de m'aider.
Le formulaire pour déclarer un bug n'est pas accessible ;=(
Gilles

Moussa
21 janvier 2025
Résolue
2 réponses
Utilisation des boucles dans le code
Bonjour, merci pour cette reponse.
Oui j'ai une question par rapport à ce que je fait dans mon code les boucle est ce qu'on les utiliser dans cette de fugure si oui, vous pouvez me donner un exemple dans concernant mon code.
Mercie d'avance !

kakawah-arnaud
5 janvier 2025
Résolue
1 réponse
Top, c'est plus propre et limpide ton code. J'avoue que je me suis un peu compliqué les choses.
Sachant que j'avais pensé au "while True" :).
Merci Merci.

Lucas
25 juin 2025
Résolue
128 réponses
Bonjour,
Merci pour votre retour. Donc si je comprends bien, en ecrivant le code, seul python doit pouvoir les renseigner ?
Dans ce cas, il faut seulement ecrire "entrer un nombre" dans les accolades ?
Je reste a votre disposition.

Steven
29 octobre 2024
Résolue
0 réponses
Correction de la mise en forme du code
Merci pour ton retour ! merci je ferais plus attention !!

JC GILLOT
12 octobre 2024
Résolue
1 réponse
Mise à jour du code Python et gestion des logs
Bonjour Thibault, merci beaucoup pour la correction et les suggestions. J'ai re-travaillé cette semaine sur le projet afin d'y implémenter tes suggestions.
> Dans ta fonction convert_entry, les méthodes isdigit(), isnumeric() et isdecimal() ont des comportements très similaires pour les chaînes de caractères ...
-> J'ai corrigé et utilisé isdigit() uniquement pour la detection des integers.
> Pour les nombres décimaux, tu vérifies la présence d'un point . comme séparateur décimal. Comme en français on utilise souvent la virgule , pour les décimales, tu pourrais aussi remplacer les virgules par des points avant de faire la conversion.
-> Oui, bonne remarque, j'ai ajouté le remplacement de la virgule pour le point.
> Aussi, si un utilisateur entre un nombre avec plusieurs points ou virgules, comme 5..5 ou 5,5,5, ton code risque de rencontrer des problèmes. Pour éviter cela, tu peux essayer de vérifier que le nombre de séparateurs décimaux est bien égal à 1 ou 0.
-> c'est déjà détecté par :
```python
if "." in entry_value and entry_value.count(".") == 1
```
a moins qu'il y ai une autre façon de faire.
> Pour la suite concernant le debug tu pourras regarder le logging à la place des print, ça permet de facilement faire ce que tu fais avec ta variable debug (avec le logging, tu définiras différents niveaux de log pour changer le niveau d'affichage).
J'ai ajouté la gestion des logs trés simple donner dans la vidéo 'print vs debug' Je n'ai pas encore trouvé comment faire apparaître le 'level' INFO, DEBUG, ERROR, dans les traces dans le fichier à la suite de l'horodatage. Je vais continuté de chercher dans le documentation.
**Voici le nouveau code Python, et un exemple de trace du fichier de log :**
```python
# -*- coding: utf-8 -*-
import logging
# logging module documentation:
# https://docs.python.org/fr/3/howto/logging.html
logging.basicConfig(filename="appli.log",
format='%(asctime)s | %(message)s',
level=logging.ERROR)
def convert_entry(entry_value: str) -> int | float:
""" Converts the given string into an integer or float.
:param entry_value: string
:return: int or float representation of the given string
"""
# is integer ?
if entry_value.isdigit():
# ok to integer convertion
logging.debug(f"convert_entry: Ok to integer convertion: {entry_value}\n")
return int(entry_value)
# is float ?
# if existed, replace comma by point to continue
if "," in entry_value:
logging.debug(f"convert_entry: \"{entry_value}\" Replace comma by point to continue...\n")
entry_value = entry_value.replace(",", ".")
# only one decimal point detection
if "." in entry_value and entry_value.count(".") == 1:
logging.debug("convert_entry: Only one \"point\" detected, continue...\n")
# letter detection (temporary exclude point)
if entry_value.replace(".", "").isdigit():
# ok to float convertion
logging.debug("convert_entry: No letter detected.\n")
logging.debug("convert_entry: Ok to float convertion\n")
return float(entry_value)
else:
# error, not digital
logging.error(f"convert_entry: Not number detected: {entry_value}\n")
print(f"\"{entry_value}\" n'est pas un nombre !")
exit(-1)
else:
# error
logging.error(f"convert_entry: \"{entry_value}\" Multiple point or bad input detected.\n")
print(f" Erreur \"{entry_value}\" n'est pas correct.")
exit(-1)
# main app
if __name__ == '__main__':
""" Docstring calculator Project
Realize calculator in command line.
It can adding two numbers.
:author: JC GILLOT
:create date: 2024-10-03
:release v0.1
:updated date: 2024-10-08 Add Thibault suggestion.
"""
logging.debug(f"======== main start =======\n")
# get and convert first user input
first_number = input("Veuillez entrer un premier nombre : ")
first_number = convert_entry(first_number)
# get and convert second user input
second_number = input("Veuillez entrer un deuxième nombre : ")
second_number = convert_entry(second_number)
# processing
result = first_number + second_number
# result providing
logging.debug(f"Type de {first_number}: {type(first_number)}\n")
logging.debug(f"Type de {second_number}: {type(second_number)}\n")
logging.debug(f"Type de {result}: {type(result)}\n")
logging.info(f"Le résultat de l'addition du nombre {first_number} avec le nombre {second_number} est égal à {result}")
print(f"Le résultat de l'addition du nombre {first_number} avec le nombre {second_number} est égal à {result}")
```
**fichier de log :**
```python
level=logging.INFO
2024-10-08 22:25:39,315 | Le résultat de l'addition du nombre 5 avec le nombre 10.5 est égal à 15.5
2024-10-08 22:26:19,659 | convert_entry: "10..5" Multiple point or bad input detected.
2024-10-08 22:26:52,579 | convert_entry: "1a" Multiple point or bad input detected.
level=logging.DEBUG
2024-10-08 22:31:49,004 | ======== main start =======
2024-10-08 22:35:47,518 | convert_entry: Ok to integer convertion: 5
2024-10-08 22:36:09,061 | convert_entry: "10,5" Replace comma by point to continue...
2024-10-08 22:36:09,061 | convert_entry: Only one "point" detected, continue...
2024-10-08 22:36:09,061 | convert_entry: No letter detected.
2024-10-08 22:36:09,061 | convert_entry: Ok to float convertion
2024-10-08 22:36:09,061 | Type de 5:
2024-10-08 22:36:09,061 | Type de 10.5:
2024-10-08 22:36:09,061 | Type de 15.5:
2024-10-08 22:36:09,061 | Le résultat de l'addition du nombre 5 avec le nombre 10.5 est égal à 15.5
2024-10-08 22:37:13,710 | ======== main start =======
2024-10-08 22:37:19,606 | convert_entry: Ok to integer convertion: 5
2024-10-08 22:37:29,469 | convert_entry: "1,,5" Replace comma by point to continue...
2024-10-08 22:37:29,469 | convert_entry: "1..5" Multiple point or bad input detected.
2024-10-08 22:39:03,978 | ======== main start =======
2024-10-08 22:39:15,648 | convert_entry: Ok to integer convertion: 5
2024-10-08 22:39:33,375 | convert_entry: Only one "point" detected, continue...
2024-10-08 22:39:33,375 | convert_entry: Not number detected: 1.o
2024-10-08 22:39:53,422 | ======== main start =======
2024-10-08 22:40:05,067 | convert_entry: "1a" Multiple point or bad input detected.
level=logging.ERROR
2024-10-08 22:42:01,383 | convert_entry: "1b" Multiple point or bad input detected.
2024-10-08 22:42:23,845 | convert_entry: "1..5" Multiple point or bad input detected.
```

Simplice Franc NKOUARI NSENGU
19 septembre 2024
Résolue
2 réponses
Utilisation des f-strings multiligne
Bonjour,
Si j'ai bien compris, pour avoir une f-string multiligne il faut utiliser trois guillemets doubles au lieu d'employer simplement des guillemets doubles ou simples.
Voici un exemple de code :
```python
message = f"""
Bonjour,
Je suis une f-string multiligne.
"""
```
Merci d'avance!
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.