Archives Wild Code School
Python

Variables et types de données

Quête 64 sur 66 · 1 image archivée

Prérequis

Avant de plonger dans cette leçon, vous devez être familier avec :

  • L'installation de Python
  • L'exécution des notebooks Jupyter
  • La mise en place structurée des dossiers

Objectifs pédagogiques

À la fin de cette leçon, vous serez capable de :

  • Stocker des nombres, des booléens et du texte dans des variables
  • Modifier des variables numériques
  • Modifier des variables textuelles

L'un des concepts les plus fondamentaux et importants en programmation est l'utilisation de variables pour stocker des données. Pensez aux variables comme à des conteneurs étiquetés où vous pouvez stocker différents types d'informations. En Python, les variables peuvent contenir différents types de données fondamentales, comme les nombres entiers (integers), les nombres décimaux (floats), les valeurs True / False (boolean), et le texte (strings).

Nous commencerons par utiliser Python comme une calculatrice pour effectuer des opérations mathématiques. Ensuite, nous verrons comment stocker différents types de données dans des variables, comment les déclarer et les nommer, et comment modifier et manipuler leurs valeurs. Notre attention se portera sur les types de données fondamentaux.

Python n'est pas seulement un langage de programmation puissant, c'est aussi une excellente calculatrice qui peut gérer facilement une large gamme de calculs mathématiques. Vous pouvez facilement effectuer des opérations de base comme l'addition, la soustraction, la multiplication, la division et l'exponentiation en utilisant +, -, *, /, et **.

Pour commencer, ouvrez l'application Jupyter Notebook depuis Jupyter Lab. Une fois l'application lancée, déplacez-vous dans le dossier 01_Python_basics puis dans le dossier Variables_and_Data_Types, ouvrez le notebook Examples_Math_Operations.ipynb.

Ensuite, copiez et collez les lignes de code suivantes dans une nouvelle cellule de code du notebook. Après avoir collé le code, assurez-vous d'exécuter la cellule pour voir les résultats des opérations :

python
# Basic arithmetic operations
print("Addition:", 10 + 5)          # Output: Addition: 15
print("Subtraction:", 10 - 5)       # Output: Subtraction: 5
print("Multiplication:", 10 * 5)    # Output: Multiplication: 50
print("Division:", 10 / 5)          # Output: Division: 2.0
print("Exponentiation:", 2 ** 3)    # Output: Exponentiation: 8

Note : En Python, le symbole # est utilisé pour ajouter des commentaires et des explications à votre code. La fonction print() affiche des informations à l'écran. Vous pouvez l'utiliser pour montrer des messages, les résultats de calculs ou le contenu de variables. C'est utile pour vérifier ce que fait votre programme ou pour communiquer avec l'utilisateur.

Division entière // et opérateur modulo %

La division entière // effectue une opération de division mais arrondit le résultat à l'entier inférieur le plus proche. L'opérateur modulo % renvoie le reste après avoir effectué la division entière.

Pour continuer, restez dans le même notebook Jupyter Math_Operations.ipynb et ajoutez la ligne de code suivante dans une autre cellule de code. Ensuite, exécutez la cellule pour voir les résultats :

python
# Additional arithmetic operations
print("Floor Division:", 10 // 3)  # Output: Floor Division: 3
print("Modulus:", 10 % 3)          # Output: Modulus: 1

Fonctions intégrées pratiques pour les opérations mathématiques

En tant que professionnel des données, vous pourriez avoir besoin de calculer les valeurs minimales et maximales d'un jeu de données, la valeur absolue d'un nombre ou d'arrondir un nombre. Dans les exemples suivants, vous utiliserez certaines fonctions intégrées de Python, comme abs(), min(), max(), et round(), pour simplifier ces tâches.

Continuez à utiliser le même notebook Jupyter Math_Operations.ipynb et ajoutez la ligne de code suivante dans une autre cellule de code. Ensuite, exécutez la cellule pour voir les résultats :

python
# Using abs(), min(), max(), and round() functions
print(abs(-7))  # Output: 7

print(min(5, 2, 9, 1, 3))  # Output: 1
print(max(5, 2, 9, 1, 3))  # Output: 9

print(round(3.4567, 2))  # Output: 3.46

Dans la fonction round(), le deuxième argument spécifie le nombre de décimales auxquelles le nombre doit être arrondi. Dans l'exemple print(round(3.4567, 2)), le 2 indique que le nombre 3.4567 doit être arrondi à 2 décimales. Par conséquent, la sortie est 3.46.

Exercice

Créez un nouveau notebook Jupyter dans le dossier exercises du dossier Variables_and_Data_Types et nommez-le Math_Operations.ipynb.

Ensuite, utilisez des cellules de code dans le notebook pour calculer et afficher les résultats des opérations suivantes :

  1. 19.0 - 11
  2. 12 * 0.25
  3. 12 ** 2
  4. 25 // 6
  5. (12 + 8) / 7
  6. (21 / 3) % 2

Solution

Voir la solution
python
# 1. Subtraction
print("1. 19.0 - 11 =", 19.0 - 11)

# 2. Multiplication
print("2. 12 * 0.25 =", 12 * 0.25)

# 3. Exponentiation
print("3. 12 ** 2 =", 12 ** 2)

# 4. Floor Division
print("4. 25 // 6 =", 25 // 6)

# 5. Parentheses and Division
print("5. (12 + 8) / 7 =", (12 + 8) / 7)

# 6. Modulus Operation
print("6. (21 / 3) % 2 =", (21 / 3) % 2)

Pour déclarer une variable, également appelée assignation, utilisez une instruction simple qui inclut le nom de la variable suivi de l'opérateur Python = et la valeur que vous souhaitez stocker. Contrairement à d'autres langages de programmation, vous n'avez pas besoin de définir le type de données ; Python le détermine automatiquement.

L'exemple de code suivant montre comment définir des variables avec différents types de données :

python
# Declaring an integer variable for employee count
employee_count = 150

# Declaring a float variable for average revenue per user (ARPU) in dollars
average_revenue_per_user = 89.99

# Declaring a string variable for the company name
company_name = "TechCorp Solutions"

# Declaring a boolean variable indicating if the company is profitable
is_profitable = True

print(employee_count)  # Output: 150
print(average_revenue_per_user)  # Output: 89.99
print(company_name)  # Output: TechCorp Solutions
print(is_profitable)  # Output: True
Info

Note : Les noms de variables Python doivent suivre des conventions de nommage : utilisez des lettres minuscules, séparez les mots par des underscores (snake_case), et évitez de commencer par des chiffres ou d'utiliser des mots-clés réservés. Les noms de variables doivent être suffisamment descriptifs pour indiquer le type de données qu'elles contiennent.

Modification des variables numériques

Les variables ne sont pas figées une fois créées. En Python, vous pouvez facilement modifier la valeur d'une variable ou même changer son type de données pendant l'exécution de votre programme. Cette flexibilité est essentielle pour gérer les données dynamiques, effectuer des calculs ou ajuster le comportement en fonction de conditions changeantes.

Bien que les chaînes de caractères méritent leur propre leçon dédiée, nous nous concentrerons ici sur les données numériques. Par exemple, vous pourriez initialement stocker une valeur sous forme de chaîne de caractères, puis la convertir en entier ou en float pour effectuer des opérations numériques, et plus tard la reconvertir en chaîne. Python fournit des fonctions intégrées comme int(), float(), et str() pour faciliter ces conversions.

python
# Step 1: Initial value as a string (representing sales target for the month)
monthly_sales_target = "50000"

# Step 2: Convert string to integer
monthly_sales_target_int = int(monthly_sales_target)
print(monthly_sales_target_int)
# Output: 50000

# Step 3: Modify the variable by converting it to a float (e.g., to handle fractional values like percentages or averages)
monthly_sales_target_float = float(monthly_sales_target_int)
print(monthly_sales_target_float)
# Output: 50000.0

# Step 4: Further modify the variable by increasing the target by 10%
monthly_sales_target_float = monthly_sales_target_float * 1.10
print(monthly_sales_target_float)
# Output: 55000.0

# Step 5: Convert the variable back to a string (e.g., for displaying in a report)
monthly_sales_target_str = str(monthly_sales_target_float)
print(monthly_sales_target_str)
# Output: '55000.0'

Observez comment la quatrième étape est formatée. Python interprète le = comme une assignation de variable. Lorsqu’il rencontre cette ligne, il évalue le côté droit de l’expression, puis affecte cette valeur à monthly_sales_target_float, même si cette variable est utilisée dans le calcul à droite. La variable monthly_sales_target_float est alors mise à jour avec cette nouvelle valeur, remplaçant l’ancienne.

Modifier les variables de cette manière est une pratique très courante en programmation. Python propose un raccourci intégré pour simplifier ce type d’opération. Par exemple, au lieu d’écrire :

python
monthly_sales_target_float = monthly_sales_target_float * 1.10

Vous pourriez utiliser :

python
monthly_sales_target_float *= 1.10

Ce type de raccourci, souvent appelé sucre syntaxique, est disponible pour toutes les opérations simples comme +, -, *, /, **, et %.

Exercices

Créez un nouveau notebook Jupyter dans le dossier exercises du dossier Variables_and_Data_Types. Nommez-le Numeric_Variables.ipynb. Après avoir terminé les exercices, assurez-vous de sauvegarder le notebook pour conserver votre progression.

1. Mettre à jour une variable

  • Étape 1 : Déclarez une variable nommée salary et définissez-la avec une valeur entière initiale représentant le salaire d'un employé.
    • Par exemple, commençons avec un salaire de 5000.
  • Étape 2 : Mettez à jour la valeur de salary en soustrayant un certain montant pour refléter une déduction ou une dépense.
    • Par exemple, si la déduction est de 1000, soustrayez-la du salaire initial.

Voici un extrait de code avec des espaces réservés pour commencer :

python
# Step 1: Declare the initial salary
salary = ...  

# Step 2: Subtract the deduction
deduction = ...  
salary = ... - ...  

# Display the updated salary
print("Updated Salary:",salary)

2. Mettre à jour une variable avec une augmentation en pourcentage

Calculez une augmentation de 20% pour un employé et mettez à jour son salaire actuel en conséquence. Suivez les étapes ci-dessous pour accomplir la tâche :

  1. Calculer l'augmentation :
    • Définissez une nouvelle variable raise_amount qui stockera 20% du salaire actuel.
    • Astuce : Pour calculer l'augmentation, multipliez le salaire actuel par 0.20 (qui représente 20%).
    • Affichez le raise_amount pour vérifier le calcul.
  2. Mettre à jour le salaire :
    • Augmentez le salaire actuel en ajoutant le raise_amount.
    • Affichez le salaire mis à jour pour vérifier le changement.
  3. Commenter le code :
    • Utilisez des commentaires pour décrire chaque étape du processus, rendant le code plus facile à comprendre.

3. Gestion de concert virtuel

Vous êtes chargé de gérer les ventes de billets pour un concert virtuel. Votre tâche est de suivre le revenu total généré par les ventes de billets et de déterminer combien de billets supplémentaires d'un type spécifique vous devez vendre pour atteindre un objectif de revenu. Suivez les étapes ci-dessous pour accomplir la tâche :

  1. Définir les prix des billets :
    • Définissez les prix pour trois types de billets :
      • Billet VIP : 100€
      • Billet Normal : 50€
      • Billet Étudiant : 30€
  2. Définir le nombre de billets vendus :
    • Spécifiez combien de billets de chaque type ont été vendus :
      • Billets VIP : 50
      • Billets Normaux : 100
      • Billets Étudiants : 150
  3. Calculer le revenu total :
    • Multipliez le nombre de chaque type de billet vendu par son prix puis additionnez les montants pour tous les types de billets pour trouver le revenu total.
  4. Définir un objectif de revenu :
    • Définissez un objectif de revenu que vous voulez atteindre. Par exemple, fixez l'objectif à 15 000.
  5. Déterminer les billets supplémentaires nécessaires :
    • Calculez combien de billets VIP supplémentaires vous devez vendre pour atteindre l'objectif de revenu, en supposant que vous ne vendiez que des billets VIP pour combler la différence.
  6. Afficher les résultats :
    • Affichez le revenu total, l'objectif de revenu, et le nombre de billets VIP supplémentaires nécessaires.

Solution

Voir la solution

1. Mettre à jour une variable

python
# Step 1: Declare the initial salary
salary = 5000  

# Step 2: Subtract the deduction
deduction = 1000  
salary = salary - deduction  

# Display the updated salary
print("Updated Salary:", salary)
Voir la solution

2. Mettre à jour une variable avec une augmentation en pourcentage

python
# Assume the current salary is €4000 
# (this should be the updated salary from the previous exercise)
current_salary = 4000

# Calculate the Raise
raise_amount = current_salary * 0.20  # 20% of the current salary
print("Raise Amount:", raise_amount)

# Update the Salary
updated_salary = current_salary + raise_amount
print("Updated Salary after Raise:", updated_salary)
Voir la solution

3. Gestion de concert virtuel

python
# Step 1: Define ticket prices
vip_price = 100
regular_price = 50
student_price = 30

# Step 2: Set number of tickets sold
vip_sold = 50
regular_sold = 100
student_sold = 150

# Step 3: Calculate total revenue
vip_revenue = vip_sold * vip_price
regular_revenue = regular_sold * regular_price
student_revenue = student_sold * student_price
total_revenue = vip_revenue + regular_revenue + student_revenue

# Step 4: Set revenue goal
revenue_goal = 15000

# Step 5: Determine additional VIP tickets needed
revenue_shortfall = revenue_goal - total_revenue
additional_vip_needed = max(0, revenue_shortfall / vip_price)

# Step 6: Print results
print("Total Revenue: €", total_revenue)
print("Revenue Goal: €", revenue_goal)
print("Additional VIP Tickets Needed: ", int(additional_vip_needed))
Info

Note : La fonction max() compare le résultat de la division avec 0. Si le résultat est positif, indiquant un manque à gagner, elle renvoie cette valeur. Cependant, si le résultat est négatif ou nul—signifiant que le revenu total a déjà atteint ou dépassé l'objectif—max() renvoie 0. Cela garantit que le nombre de billets supplémentaires nécessaires n'est jamais négatif, ce qui n'aurait pas de sens en pratique.

Les données textuelles sont omniprésentes, et la capacité à les manipuler aide à rationaliser les processus et à améliorer l'efficacité. Par exemple, une équipe marketing pourrait avoir besoin d'extraire les prénoms des noms complets pour personnaliser des emails, ou un analyste pourrait devoir combiner les informations de ville et d'état dans une seule cellule pour une meilleure lisibilité dans un rapport.

Une chaîne de caractères est une séquence de caractères utilisée pour représenter du texte. C'est l'un des types de données fondamentaux en programmation et est essentiel pour manipuler les informations textuelles.

En Python, vous pouvez créer des chaînes en utilisant des guillemets simples ('...'), des guillemets doubles ("..."), ou des triples guillemets ('''...''' et des triples guillemets doubles ("""..."""). Alors que les guillemets simples et doubles sont parfaits pour du texte simple, les triples guillemets sont parfaits pour écrire des chaînes plus longues ou multi-lignes.

Par exemple, voici comment vous pouvez définir des chaînes :

python
# Simple greeting for the audience
greeting = "Hello and welcome, fashion enthusiasts!"

# Multi-line string with triple quotes for your business pitch
business_pitch = """We are thrilled to introduce our brand, GreenThreads, where sustainability meets style.

GreenThreads is redefining fashion with eco-friendly clothing that makes you look good and feel even better.

Our offerings include:
1. 100% organic materials
2. Zero-waste manufacturing processes
3. Trend-setting designs that last

Be a part of the movement toward a greener future in fashion!

- The GreenThreads Team"""

print(greeting)

print(business_pitch)

# Output:
# Hello and welcome, fashion enthusiasts!
#
# We are thrilled to introduce our brand, GreenThreads, where sustainability meets style.
#
# GreenThreads is redefining fashion with eco-friendly clothing that makes you look good and feel even better.
#
# Our offerings include:
# 1. 100% organic materials
# 2. Zero-waste manufacturing processes
# 3. Trend-setting designs that last
#
# Be a part of the movement toward a greener future in fashion!
#
# - The GreenThreads Team

Pour combiner deux chaînes, vous pouvez utiliser l'opérateur +, qui les concaténera en une seule chaîne, similaire à l'utilisation de la fonction CONCATENER dans Excel.

Par exemple :

python
# Define two separate strings: a greeting and a customer name
greeting = "Dear "
customer_name = "Mr. Johnson,"

# Combine the strings for a personalized message
full_message = greeting + customer_name

Exercice

Créez un nouveau notebook Jupyter dans le dossier Variables_and_Data_Types. Nommez-le Favourite_Quotes.ipynb. Après avoir terminé l'exercice, sauvegardez votre notebook Jupyter pour préserver votre travail.

Suivez ces étapes :

Étape 1 : Définir vos chaînes

  • Créez des variables pour stocker différentes parties de vos citations ou phrases préférées.

Étape 2 : Concaténer les chaînes

  • Combinez les parties de la citation en un message complet et stockez-le dans une variable.

Étape 3 : Afficher la citation complète

  • Affichez la citation complète pour voir le résultat.

Solution

Voir la solution
python
# Step 1: Define Your Strings
part1 = "The only limit to our realization of tomorrow"
part2 = " is our doubts of today."
author = " - Franklin D. Roosevelt"

# Step 2: Concatenate the Strings
full_quote = part1 + part2 + author

# Step 3: Print the Full Quote
print(full_quote)

En Python, les sous-chaînes (ou slices) servent à extraire une partie d'une chaîne de caractères, c'est-à-dire un ensemble de caractères sélectionnés à partir d'une chaîne plus grande. Cela est très utile pour manipuler des données textuelles en marketing ou en analyse, comme extraire une portion d'un code, un mot-clé, une date ou autre information contenue dans un texte.

Une chaîne peut être indexée (avec des sous-indices), ce qui signifie que vous pouvez accéder à un caractère dans la chaîne par sa position.

Positive
Negative
'f'
-3
-2
'o'
-1
'x'
'f'
0
1
'o'
2
'x'
Python Indexing
a_string = 'fox'

Comme illustré dans la figure ci-dessus, l'indexation positive commence à 0 et compte vers l'avant depuis le début de la chaîne. En revanche, l'indexation négative commence à -1 et compte à rebours depuis la fin de la chaîne.

Voici comment vous pouvez utiliser l'indexation positive pour accéder aux caractères dans la chaîne company_name :

python
# Define the company name
company_name = "GreenThreads"

# Accessing characters using positive indexing
first_char = company_name[0]
fifth_char = company_name[4]

print(first_char)  # Output: G
print(fifth_char)  # Output: n

Les chaînes peuvent être découpées. Le découpage d'une chaîne vous permet d'obtenir une sous-chaîne :

python
# Define the company message
company_message = """Welcome to GreenThreads!"""

# characters from position 0 (included) to 17 (excluded)
print(company_message[0:17])  
# Output: Welcome to GreenT

# characters from the start to position 17 (excluded)
print(company_message[:17])  
# Output: Welcome to GreenT

# characters from position 11 (included) to the end
print(company_message[11:])  
# Output: GreenThreads!

De plus, vous pouvez également utiliser un pas (ou step) pour effectuer un saut dans une tranche de caractères. Cela permet de sélectionner des caractères à intervalles réguliers dans une chaîne, par exemple pour afficher un caractère sur deux comme dans les exemples ci-dessous :

python
# Define the company name
company_name = "GreenThreads"

# Using step in slicing
# Slicing with a step of 2, starting from the beginning to the end
print(company_name[::2])   
# Output: 'GenTeds'

# Slicing with a step of 2, starting from the second character to the end
print(company_name[1::2])  
# Output: 'reTras'

# Slicing with a step of 2, from the second to the fifth character
print(company_name[1:5:2]) 
# Output: 're'

Exercice

Dans le notebook Jupyter Favourite_Quotes.ipynb, plongez dans l'exploration de l'indexation et du découpage de chaînes avec votre citation préférée. Suivez ces directives :

  1. Explorer l'indexation : Accédez et affichez différents caractères de votre citation en utilisant à la fois l'indexation positive et négative. Essayez de trouver le premier, le dernier et quelques caractères aléatoires.
  2. Expérimenter avec le découpage : Découpez votre citation pour extraire différentes parties de la chaîne. Par exemple, essayez d'obtenir les premiers caractères, un segment du milieu et la portion finale de la citation.

Solution

Voir la solution
python
# Step 1: Explore Indexing
first_char = full_quote[0]         # First character (positive index)
last_char = full_quote[-1]         # Last character (negative index)
random_char1 = full_quote[10]      # A random character (positive index)
random_char2 = full_quote[-10]     # A random character (negative index)

print("First character:", first_char)
print("Last character:", last_char)
print("Character at index 10:", random_char1)
print("Character at index -10:", random_char2)

# Step 2: Experiment with Slicing
first_few_chars = full_quote[:10]        # First 10 characters
middle_segment = full_quote[11:39]       # A middle segment
ending_portion = full_quote[-30:]        # Last 30 characters (including author)

print("First 10 characters:", first_few_chars)
print("Middle segment:", middle_segment)
print("Last 30 characters:", ending_portion)

Imaginez que vous travaillez sur un programme où vous devez nettoyer des données utilisateur. Par exemple, vous recevez une chaîne contenant un nom avec des espaces inutiles : "   Jean Dupont  ". Vous voulez retirer les espaces et mettre le nom en majuscules.

En Python, vous pouvez résoudre ce problème rapidement grâce aux méthodes des chaînes. Ces fonctions, intégrées dans Python, vous permettent de manipuler des chaînes directement. Pour les utiliser, ajoutez un point (.) à la variable contenant la chaîne, suivi du nom de la méthode.

Exemple :

python
name = "  Jean Dupont  "
clean_name = name.strip().upper()
print(clean_name)
# Résultat : "JEAN DUPONT"

Les méthodes comme strip() (qui enlève les espaces) ou upper() (qui met en majuscules) sont très pratiques pour ce type de tâche. Dans la suite, nous explorerons d’autres méthodes utiles pour travailler avec les chaînes. Pour une liste exhaustive, référez-vous au site W3schools.

string_mind_map.jpeg En Python, vous pouvez manipuler les chaînes en utilisant des méthodes intégrées comme upper(), lower(), et replace().

Par exemple :

python
# Convert company name to uppercase
company_name = 'GreenThreads'
print(company_name.upper())
# Output:
# GREENTHREADS

# Convert slogan to lowercase
slogan = 'Sustainable Fashion for All'
print(slogan.lower())
# Output:
# sustainable fashion for all

# Replace spaces with underscores in product name
product_name = 'Eco-Friendly Collection'
print(product_name.replace(" ", "_"))
# Output: Eco-Friendly_Collection

# Print the original company name
print(company_name)
# Output:
# GreenThreads
Info

Note : Quand vous extrayez des sous-chaînes ou appliquez des méthodes à une chaîne, la chaîne originale reste inchangée ! Voyez la sortie de la dernière instruction print. Pour sauvegarder le résultat d'une telle opération, il suffit d'écraser la variable originale ou de stocker le résultat dans une nouvelle variable.

Pour vérifier la présence d'un mot dans une chaîne en Python, vous pouvez utiliser l'opérateur in ou la méthode find(). Voici des exemples des deux approches :

python
# Using the in operator:
company_description = "GreenThreads is a pioneer in sustainable fashion."
if "sustainable fashion" in company_description:
    print("The phrase 'sustainable fashion' is in the company description")
# Output:
# The phrase 'sustainable fashion' is in the company description

# Using the find() method:
mission_statement = "Our mission is to make fashion eco-friendly and accessible to all."
if mission_statement.find("eco-friendly") != -1:
    print("The word 'eco-friendly' is in our mission statement")
# Output:
# The word 'eco-friendly' is in our mission statement

La méthode find() renvoie l'index de la première occurrence de la sous-chaîne si elle est trouvée, ou -1 si elle n'est pas trouvée. Les deux méthodes sont sensibles à la casse. Si vous avez besoin d'une correspondance insensible à la casse, vous pouvez convertir la chaîne en minuscules avant la vérification :

python
# Define the company values
company_values = "Sustainability, Creativity, Quality"

# Check if "creativity" is one of the company values (case-insensitive)
if "creativity" in company_values.lower():
    print("Creativity is one of our company values (case-insensitive)")

# Output:
# Creativity is one of our company values (case-insensitive)

Exercices

Testez vos compétences en résolvant les exercices suivants :

Exercice 1 : Nettoyage des données

Vous recevez une chaîne contenant des espaces inutiles : "   Alice Martin   ".

1. Supprimez les espaces autour de la chaîne.

2. Mettez le nom en lettres majuscules.

Attendu :

python
# Résultat : "ALICE MARTIN"
Exercice 2 : Transformation d’une chaîne

Avec la chaîne suivante :

quote = "Python est Amusant"

1. Transformez tous les caractères en minuscules.

2. Remplacez les espaces par des underscores _.

Attendu :

python
# Résultat : "python_est_amusant"
Exercice 3 : Vérification de la présence d’un mot

Dans cette description :

description = "Python est un langage de programmation puissant."

1. Vérifiez si le mot "langage" est présent.

2. Faites une vérification insensible à la casse pour le mot "puissant".

Attendu :

python
# Résultat : Les mots "langage" et "puissant" sont présents.
Exercice 4 : Extraction d’une sous-chaîne

À partir de cette chaîne :

tagline = "Innovation for a better future"

1. Extrayez les mots "better future" à l’aide du slicing.

Attendu :

python
# Résultat : "better future"
Exercice 5 : Comptage d’une sous-chaîne

Avec la chaîne suivante :

text = "Apprendre Python est amusant car Python est puissant."

1. Comptez combien de fois le mot "Python" apparaît dans la chaîne (sensible à la casse).

Attendu :

python
# Résultat : 2
Info

Astuce : Consultez les méthodes comme strip(), upper(), lower(), replace(), find(), ou encore les opérations comme in pour résoudre ces exercices.

Solutions

Voir la solution

Exercice 1 : Nettoyage des données

Explication : On utilise strip() pour supprimer les espaces inutiles et upper() pour convertir la chaîne en majuscules.

python
name = "   Alice Martin   "
# Remove extra spaces and convert to uppercase
clean_name = name.strip().upper()
print(clean_name)
# Output: "ALICE MARTIN"
Voir la solution

Exercice 2 : Transformation d’une chaîne

Explication : La méthode lower() met tout en minuscules, et replace() remplace les espaces par des underscores _.

python
quote = "Python est Amusant"
# Convert to lowercase and replace spaces with underscores
transformed_quote = quote.lower().replace(" ", "_")
print(transformed_quote)
# Output: "python_est_amusant"
Voir la solution

Exercice 3 : Vérification de la présence d’un mot

Explication : L’opérateur in permet de vérifier la présence d’un mot directement, et on peut utiliser lower() pour rendre la vérification insensible à la casse.

python
description = "Python est un langage de programmation puissant."

# Check if "langage" is present (case-sensitive)
if "langage" in description:
    print("The word 'langage' is present.")

# Check if "puissant" is present (case-insensitive)
if "puissant" in description.lower():
    print("The word 'puissant' is present (case-insensitive).")

# Output:
# The word 'langage' is present.
# The word 'puissant' is present (case-insensitive).
Voir la solution

Exercice 4 : Extraction d’une sous-chaîne

Explication : On utilise le slicing [start:end] pour extraire une partie de la chaîne. Ici, on commence à l’index 17 pour obtenir "better future".

python
tagline = "Innovation for a better future"
# Slice the string to extract "better future"
sub_string = tagline[17:]
print(sub_string)
# Output: "better future"
Voir la solution

Exercice 5 : Comptage d’une sous-chaîne

Explication : La méthode count() permet de compter le nombre d’occurrences d’une sous-chaîne donnée dans une chaîne.

python
text = "Apprendre Python est amusant car Python est puissant."
# Count the occurrences of "Python"
count = text.count("Python")
print(count)
# Output: 2
Info

Remarque : Ces solutions montrent des techniques pratiques pour manipuler des chaînes, qu’il s’agisse de nettoyer, transformer, ou analyser du texte.

f-strings

Les variables et les chaînes peuvent être combinées en utilisant les f-strings. Les f-strings contiennent des espaces réservés avec des noms de variables. Voici quelques exemples :

python
# Define the company name, revenue, and year
company_name = "GreenThreads"
revenue = 850000
year = 2024

# Create a formatted report string
report = f"In {year}, {company_name} generated ${revenue:,} in revenue."
print(report)
# Output: In 2024, GreenThreads generated $850,000 in revenue.

Dans cet exemple, nous utilisons les f-strings pour créer un rapport financier formaté. Les f-strings nous permettent d'intégrer directement des variables dans la chaîne, facilitant la génération de rapports ou de messages dynamiques dans un contexte professionnel. Le format :, spécifié dans ${revenue:,} ajoute des virgules comme séparateurs de milliers, ce qui est courant dans les rapports financiers.

Exercice

Ouvrez le notebook Jupyter Favourite_Quotes.ipynb et suivez ces étapes :

  1. Définissez vos variables : Par exemple, vous pourriez avoir :
    • quote : Une nouvelle citation en majuscules.
    • author : Le nom de l'auteur de la citation en minuscules.
    • year : L'année où la citation a été faite ou publiée.
  2. Créez un message formaté : Utilisez une f-string pour combiner quote, author, et year en une seule chaîne formatée et affichez-la.

Solution

Voir la solution

Note : la méthode title() met en majuscule la première lettre de chaque mot. Dans cet exemple, le nom de l’auteur aura la première lettre de chaque mot en majuscule, ici on aura donc un W majuscule et un C majuscule pour “Winston Churchill”.

python
# Step 1: Define Your Variables
quote = "Success is not final, failure is not fatal: It is the courage to continue that counts."
author = "Winston Churchill"
year = 1941

# Step 2: Apply String Methods
quote = quote.upper()        # Convert the quote to uppercase
author = author.lower()      # Convert the author to lowercase

# Step 3: Create a Formatted Message
formatted_message = f'"{quote}"\n- {author.title()}, {year}'

# Print the formatted message
print(formatted_message)

En Python, la fonction input() permet d’obtenir des informations saisies par l’utilisateur pendant l’exécution du programme. Lorsque le programme atteint une ligne contenant input(), il affiche un message (optionnel) et attend que l’utilisateur entre une valeur au clavier.

Toutes les données renvoyées par input() sont automatiquement considérées comme des chaînes de caractères (type str). Si vous avez besoin d’une autre forme de donnée, comme un entier (int) ou un nombre décimal (float), il faudra convertir la valeur saisie. Voici un exemple :

python
# Prompt for user input to enter the number of new orders
number_of_orders = input('Please enter the number of new orders for GreenThreads: ')
print(f'The datatype of the entered number is: {type(number_of_orders)}')

# Transform the input to an integer using int()
number_of_orders = int(number_of_orders)
print(f'After converting it to an integer using int(), the datatype is now: {type(number_of_orders)}')

Quand le code ci-dessus est exécuté, l'utilisateur verra d'abord ceci dans la cellule de sortie :

Please enter the number of new orders for GreenThreads: 

Ensuite, l'utilisateur peut entrer un nombre et les résultats des instructions print f-string seront affichés :

Please enter a number: 8
The datatype of the entered number is: <class 'str'>
After converting it to an integer using int(), the datatype is now: <class 'int'>

Exercice

Créez un nouveau notebook Jupyter dans le dossier Variables_and_Data_Types. Nommez-le Exercise_String.ipynb. Après avoir terminé les exercices, assurez-vous de sauvegarder le notebook pour préserver votre progression.

  1. Écrivez un programme qui demande à l'utilisateur son prénom et son nom en utilisant la fonction input() :
python
# Ask the user to enter their first name
first_name = ...

# Ask the user to enter their last name
last_name = ...

# Print out the first and last name
print(f"Your name is {first_name} {last_name}")
  1. Convertissez les deux noms en majuscules en utilisant la méthode upper() :
python
# Convert both names to uppercase using the upper() function
first_name_upper = first_name...
last_name_upper = last_name...

  1. Demandez à l'utilisateur d'entrer son âge en utilisant la fonction input() :
python
age = ...

  1. Combinez les variables first_name_upper, last_name_upper, et age en utilisant une f-string pour afficher un message comme JOHN BRANDON is 35 years old :
python
message = ...
print(...)

Solution

Voir la solution
python
# Step 1: Ask the user to enter their first and last name
first_name = input("Please enter your first name: ")
last_name = input("Please enter your last name: ")

# Print out the first and last name
print(f"Your name is {first_name} {last_name}")

# Step 2: Convert both names to uppercase using the upper() function
first_name_upper = first_name.upper()
last_name_upper = last_name.upper()

# Step 3: Ask the user to enter their age
age = input("Please enter your age: ")

# Step 4: Combine the variables using an f-string and print the message
message = f"{first_name_upper} {last_name_upper} is {age} years old."
print(message)

Excellent progrès ! Vous avez appris les éléments clés de Python que vous utiliserez dans les prochains modules.

Vous savez maintenant comment travailler avec des variables numériques, ce qui vous permet de stocker et de manipuler des nombres à travers des opérations arithmétiques.

De plus, vous avez exploré les chaînes de caractères, qui représentent des données textuelles, et appris comment effectuer des opérations sur celles-ci, comme changer la casse avec upper() et lower(), remplacer des caractères en utilisant replace().

Maintenant, vous disposez des compétences fondamentales pour manipuler efficacement les nombres, le texte et les booléens.