Principes Fondamentaux de la Conversion de Types
La conversion de type permet de passer d'un type de base Python à un autre afin que les valeurs puissent être comparées, calculées ou affichées.
Conversion en int
int(x) crée un entier.
- À partir d'un int : retourne le même nombre ;
- À partir d'un float : tronque vers zéro (par exemple,
int(2.9)retourne2,int(-2.9)retourne-2) ; - À partir d'une chaîne de caractères : la chaîne doit représenter un entier (les espaces optionnels et le signe sont acceptés).
Conversions valides
12345678910# Converting different types of user input to integers age_input = " 42 " temperature_reading = 2.9 negative_balance = -2.9 print(int(age_input)) # 42 → clean string converted to int print(int(temperature_reading)) # 2 → fractional part truncated print(int(negative_balance)) # -2 → also truncates toward zero print(int("7")) # 7 → string number becomes integer print(int(" -15 ")) # -15 → handles spaces and sign
Ceux-ci génèrent une ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Conversion en float
float(x) crée un nombre à virgule flottante.
- Fonctionne pour les entiers et les chaînes en notation décimale ou scientifique ;
- Les virgules ne sont pas des séparateurs décimaux en Python.
Conversions valides
12345678# Converting numeric inputs for a shopping calculator quantity = 3 price_str = "2.5" discount_factor = "1e3" # scientific notation for 1000 print(float(quantity)) # 3.0 → integer converted to float print(float(price_str)) # 2.5 → string price converted to float print(float(discount_factor)) # 1000.0 → converts from scientific notation
Ceux-ci lèvent une ValueError
1float("2,5") # ValueError - use a dot, not a comma
Conversion en str
str(x) crée une représentation sous forme de chaîne lisible par l’humain. Privilégier les f-strings lors de la construction de messages.
12345678910# Formatting a student's exam result student_age = 42 average_score = 3.5 print(str(student_age)) # "42" → number converted to string print(str(average_score)) # "3.5" → float converted to string student_name, final_score = "Ada", 98 report_message = f"{student_name} scored {final_score} points on the exam." print(report_message)
Conversion en bool
bool(x) suit les règles de véracité de Python.
- Nombres :
0correspond àFalse, tout autre nombre correspond àTrue; - Chaînes :
""(vide) correspond àFalse, toute chaîne non vide correspond àTrue(même"0"et"False").
123456789101112# Checking how different user inputs behave as boolean values login_attempts = 0 notifications = 7 username = "" user_id = "0" status = "False" print(bool(login_attempts)) # False → 0 means no attempts yet print(bool(notifications)) # True → non-zero means new notifications print(bool(username)) # False → empty string means no username entered print(bool(user_id)) # True → any non-empty string is truthy print(bool(status)) # True → text "False" is still a non-empty string
Erreurs à éviter
int("2.5")génère uneValueError– analyser d'abord avecfloat(), puis tronquer ou arrondir ;- Habitude locale :
"2,5"est invalide – utiliser"2.5"; - Traits de soulignement dans les chaînes d'entrée :
"1_000"est invalide – supprimer d'abord les traits de soulignement :"1_000".replace("_", ""); - Surprise de véracité :
bool("0")estTrue– comparer explicitement le contenu de la chaîne si nécessaire, par exemples == "0".
1. Que produit chaque ligne ?
2. Quel appel déclenche une ValueError ?
3. Choisissez l'énoncé correct.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Génial!
Completion taux amélioré à 5.26
Principes Fondamentaux de la Conversion de Types
Glissez pour afficher le menu
La conversion de type permet de passer d'un type de base Python à un autre afin que les valeurs puissent être comparées, calculées ou affichées.
Conversion en int
int(x) crée un entier.
- À partir d'un int : retourne le même nombre ;
- À partir d'un float : tronque vers zéro (par exemple,
int(2.9)retourne2,int(-2.9)retourne-2) ; - À partir d'une chaîne de caractères : la chaîne doit représenter un entier (les espaces optionnels et le signe sont acceptés).
Conversions valides
12345678910# Converting different types of user input to integers age_input = " 42 " temperature_reading = 2.9 negative_balance = -2.9 print(int(age_input)) # 42 → clean string converted to int print(int(temperature_reading)) # 2 → fractional part truncated print(int(negative_balance)) # -2 → also truncates toward zero print(int("7")) # 7 → string number becomes integer print(int(" -15 ")) # -15 → handles spaces and sign
Ceux-ci génèrent une ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
Conversion en float
float(x) crée un nombre à virgule flottante.
- Fonctionne pour les entiers et les chaînes en notation décimale ou scientifique ;
- Les virgules ne sont pas des séparateurs décimaux en Python.
Conversions valides
12345678# Converting numeric inputs for a shopping calculator quantity = 3 price_str = "2.5" discount_factor = "1e3" # scientific notation for 1000 print(float(quantity)) # 3.0 → integer converted to float print(float(price_str)) # 2.5 → string price converted to float print(float(discount_factor)) # 1000.0 → converts from scientific notation
Ceux-ci lèvent une ValueError
1float("2,5") # ValueError - use a dot, not a comma
Conversion en str
str(x) crée une représentation sous forme de chaîne lisible par l’humain. Privilégier les f-strings lors de la construction de messages.
12345678910# Formatting a student's exam result student_age = 42 average_score = 3.5 print(str(student_age)) # "42" → number converted to string print(str(average_score)) # "3.5" → float converted to string student_name, final_score = "Ada", 98 report_message = f"{student_name} scored {final_score} points on the exam." print(report_message)
Conversion en bool
bool(x) suit les règles de véracité de Python.
- Nombres :
0correspond àFalse, tout autre nombre correspond àTrue; - Chaînes :
""(vide) correspond àFalse, toute chaîne non vide correspond àTrue(même"0"et"False").
123456789101112# Checking how different user inputs behave as boolean values login_attempts = 0 notifications = 7 username = "" user_id = "0" status = "False" print(bool(login_attempts)) # False → 0 means no attempts yet print(bool(notifications)) # True → non-zero means new notifications print(bool(username)) # False → empty string means no username entered print(bool(user_id)) # True → any non-empty string is truthy print(bool(status)) # True → text "False" is still a non-empty string
Erreurs à éviter
int("2.5")génère uneValueError– analyser d'abord avecfloat(), puis tronquer ou arrondir ;- Habitude locale :
"2,5"est invalide – utiliser"2.5"; - Traits de soulignement dans les chaînes d'entrée :
"1_000"est invalide – supprimer d'abord les traits de soulignement :"1_000".replace("_", ""); - Surprise de véracité :
bool("0")estTrue– comparer explicitement le contenu de la chaîne si nécessaire, par exemples == "0".
1. Que produit chaque ligne ?
2. Quel appel déclenche une ValueError ?
3. Choisissez l'énoncé correct.
Merci pour vos commentaires !