TD B2 : notion de variable (chaînes et listes)¶

I. Avec des chaînes de caractères (type : str)¶

1) notion de chaîne de caractères¶

À la place des nombres, les variables peuvent aussi contenir des suites de caractères que l'on appelle chaîne de caractères.

ma_chaine = "Bonjour le monde !"

Le contenu de la variable ma_chaine est de type string et donc un type(ma_chaine) donnera un str (abréviation de string en Python).

À noter que la chaîne de caratcère est délimtée au choix par des guillemets ("...") ou des apostrophes ('...')

Q1. En utilisant judicieusement les guillemets et les apostrophes écrire un programme python qui affiche les messages:

Connaissez-vous le mot "cadonner" ?
L'informatique c'est amusant !

Plus décilat (chercher de l'aide sur le net ;-) ) comment afficher :

Savez-vous ce qu'est "l'astragale" ?
In [ ]:
# à compléter

2) les opérateurs + et * sur les chaînes de caractères¶

L'utilisation du signe + ne se limite pas à l'addition. Il est aussi utilisé pour la concaténation.

D'après Wikipédia :

« Le terme concaténation (substantif féminin), du latin cum («avec») et catena(«chaîne, liaison»), désigne l'action de mettre bout à bout au moins deux chaînes. »

Si on considère le programme suivant :

a = "Hello"
b = "World"
mon_expression = a + b

Q2. Créer deux variables, nommées nom et prenom contenant respectivement votre nom et votre prénom et créer ensuite une variable nommée etudiant qui contiendra la concaténation de votre prénom et de votre nom (attention de ne pas oublier l'espace), puis afficher son contenu avec la fonction print

In [ ]:
# code de la Q2 à compléter

Q3. On définit deux variables net ch

n = 5
ch = 'tic tac '

Essayer d'effecuter n*ch et n+ch pour voir ce qu'il se passe.

In [ ]:
# code pour la Q3 à compléter

Normalement vous devriez obtenir une erreur en tapant n+ch.

En effet ch est de type str alors que n est de type int. Le signe + représente-t-il une addition ou une concaténation ? Ni l'un, ni l'autre ! Python vous renverra une erreur car il ne peut pas concaténer un entier et une chaîne de caractère.

Solution dans le paragraphe suivant !

3) Conversion de type : numérique vers chaine¶

La solution : transformer le nombre entier contenu dans n en une chaîne de caractères : cela se fait à l'aide de la fonction str(...):

!!! note Méthode : transformer un nombre en chaîne Pour transformer une variable de type numérique en chaîne de caractère :

ch = 'nombre de pommes :'
n = 10
resulat = ch + str(n)

la variable resultat contiendra bien la chaîne nombre de pommes : 10 !!!

!!! warning Ressources supplémentaires Q4. Pour avoir plus de détails sur les variables, on pourra consulter avantageusement les pages consacrées à celles-ci sur le site W3 school. !!!

II. Découverte du type list¶

Faisons un mini tour d'horizon sur cet objet très vaste, que l'on utilisera tout au long de l'année !

1. Définition¶

Une liste est utilisée si l'on souhaite stocker plusieurs valeurs dans une même variable

!!! example définir un liste

fruits = ["pomme", "kiwi" , "banane" ]

!!!

In [ ]:
fruits = ["pomme", "kiwi", "banane" ]
print(fruits)
['pomme', 'kiwi', 'banane']

2. Accéder ou modifer un élément d'une liste¶

Il faut retenir que les éléments d'une liste sont numéroté à partir de 0.

!!! example accéder à un élément

fruits = ["pomme", "kiwi", "banane" ]
print(fruits[0]) # affiche pomme 
print(fruits[1]) # affiche kiwi

Noter la possibilité d'utiliser des index négatifs (on part de la fin)

print(fruits[-1]) # affiche banane

!!!

In [ ]:
fruits = ["pomme", "kiwi", "banane" ]
print(fruits[0]) # affiche pomme 
print(fruits[1]) # affiche kiwi
print(fruits[-1]) # affiche banane
pomme
kiwi
banane

On peut donc modifier un élément de la liste :

!!! example modifier un élément

fruits[0] = "orange" # remplace pomme par orange

!!!

In [ ]:
fruits[0] = "orange"
print(fruits)
['orange', 'kiwi', 'banane']

3. Ajouter un élément à une liste (append)¶

!!! example Ajouter un élément à une liste

fruits.append("tomate")
print(fruits[-1]) # affiche tomate

!!!

In [ ]:
fruits.append("tomate")
print(fruits)
['orange', 'kiwi', 'banane', 'tomate']

4. Longueur d'une liste (len)¶

!!! example longueur d'une liste (nombre d'éléments)

print(len(fruits)) # affiche 4

!!!

In [ ]:
print(f"la liste fruits contient {len(fruits)} éléments")
la liste fruits contient 4 éléments

5. Ressources supplémentaires¶

Consulter par exemple la section sur les listes du site W3School pour plus d'informations. Ce sera utile pour les cours suivants...

6. À vous¶

Q5. Créer une liste nombresqui contient un nombre impairs de nombres compris entre 10 et 99 (de votre choix) (5 ou 7 serait pas mal...). Prendre soin de saisir ces nombres dans l'ordre croissant.

Q6. Créer une variable taille qui contient la longueur la liste

Q7. Remplacer le dernier nombre par 100 et le premier par 10

Q8. Donner la valeur médiane de votre liste (c'est à dire le nombre du milieu) en utilisant la variable taille

In [ ]:
nombres = [ ]

# à compléter