Dans cette séquence nous aborderons :
Les listes (souvent appelées tableaux dans les autres langages) vont nous permettre de stocker plusieurs valeurs (chaîne, nombre) dans une structure unique :
maListe1 = ["pomme","orange","fraise"]
ou
maListe2=[56,76,45,89]
Pour lire le contenu d'une liste, il suffit d'utiliser un « indice de position » (le 1er élément de la liste a l'indice 0, le deuxième élément a l'indice 1...). On aura : maListe[indice de position].
Testez le code suivant dans la console:
maListe=["pomme","orange","fraise"]
print(maListe[1])
Ecrivez un programme script2.py contenant le code suivant et testez le:
semaine=['lundi','mardi','mercredi','jeudi','vendredi']
i=0
while i<5:
print(semaine[i])
i=i+1
print("C'est terminé")
Écrire un programme script3.py qui demande à l'utilisateur un numéro de mois (de 1 à 12), puis affiche : « Vous avez sélectionné le mois de : xxxxxx » (avec xxxxxx janvier si l'utilisateur a choisi 1, août si l'utilisateur a choisi 8...).
La boucle for
va nous permettre de parcourir les éléments d'une liste plus facilement qu'avec une boucle while.
Voici l'équivalent du programme vu dans le "À faire vous-même n°2" :
semaine=['lundi','mardi','mercredi','jeudi','vendredi']
for jour in semaine:
print(jour)
print("C'est terminé")
La variable jour prendra successivement toutes les valeurs contenues dans la liste semaine.
semaine=['lundi','mardi','mercredi','jeudi','vendredi']
print(len(semaine))
Il est possible d'ajouter un élément à une liste (en fin de liste plus précisément) grâce à la méthode append()
. Pour ajouter l'élément b à la fin de la liste L, il faut utiliser une syntaxe un peu particulière :
L.append(b)
Remarque : Une méthode est une fonction particulière dans le sens où elle est propre à l'objet sur lequel elle s'applique, elle est intégrée à celui-ci. Une méthode nécessite une syntaxe particulière qu'on appelle la notation pointée : objet.methode(paramètres éventuels)
Ecrivez un programme script5.py contenant le code suivant et testez le :
semaine=['lundi','mardi','mercredi','jeudi','vendredi']
for jour in semaine:
print(jour)
print("C'est terminé 1")
semaine.append('samedi')
for jour in semaine:
print(jour)
print("C'est terminé 2")
Il est possible de supprimer un élément d'une liste grâce à la fonction del()
.
Testez dans la console le code suivant :
liste=["Pierre","Paul","Jacques"]
del(liste[1])
print(liste)
Ecrivez un programme script6.py qui affiche le plus grand terme d'une liste de nombres entiers données. Par exemple, si le programme s'appliquait à la liste :
[12, 25, 3, 9, 75, 17]
, le programme afficherait :
Le plus grand nombre de la liste est 75
Dans beaucoup de cas, on peut traiter une chaîne de caractères comme une liste.
Ecrivez puis testez le programme script7.py contenant le code suivant.
Remarquez au passage l'option end
de la fonction print()
qui est très utile... ainsi que les méthodes lower()
et upper()
.
chaine="Christine"
print(chaine[1],chaine[3],chaine[5])
for car in chaine :
print(car)
for car in chaine :
print(car, end="#")
print(chaine.upper())
chaine2="JULIETTE"
print(chaine2.lower())
Une chaîne de caractères étant donnée au départ, écrivez un programme script8.py qui vous donne le nombre de 'a' que contient cette chaîne. On pourra dans un second temps modifier ce programme pour qu'il vous demande au préalable le caractère recherché dans la chaîne.
Remarque : Il existe une méthode qui fait cela très bien, c'est la méthode count()
dont la syntaxe est :
chaine.count(sousChaine)
Les dictionnaires ressemblent aux listes. Chaque élément d'un dictionnaire est composé de 2 parties, on parle de pairs "clé/valeur". Voici un exemple de dictionnaire :
monDico={"nom":"Durand", "prenom":"Christophe", "date de naissance":"29/02/1981"}
Comme vous pouvez le constater, nous utilisons des accolades {} pour définir le début et la fin du dictionnaire (alors que nous utilisons des crochets [] pour les listes). Dans le dictionnaire ci-dessus, "nom", "prenom" et "date de naissance" sont des clés et "Durand", "Christophe" et "29/02/1981" sont des valeurs.
La clé "nom" est associée à la valeur "Durand", la clé "prenom" est associée à la valeur "Christophe" et la clé "date de naissance" est associée à la valeur "29/02/1981".
Les clés sont des chaînes de caractères ou des nombres. Les valeurs peuvent être des chaînes de caractères, des nombres, des booléens...
Pour créer un dictionnaire, il est aussi possible de procéder comme suit en partant d'un dictionnaire vide qui se note {}
:
monDico={}
monDico["nom"]="Durand"
monDico["prenom"]="Christophe"
monDico["date de naissance"]="29/02/1981"
Pour afficher le contenu d'un dictionnaire, un simple "print" peut faire l'affaire
Testez dans la console le code suivant :
monDico={"nom":"Durand", "prenom":"Christophe", "date de naissance":"29/02/1981"}
print(monDico)
Testez le code suivant dans la console :
monDico={"nom":"Durand", "prenom":"Christophe", "date de naissance":"29/02/1981"}
print("Bonjour je m'appelle "+monDico["prenom"]+" "+monDico["nom"]+", je suis né le "+monDico["date de naissance"])
Testez le code suivant dans la console :
monDico={"nom":"Durand", "prenom":"Christophe", "date de naissance":"29/02/1981"}
print("Bonjour je m'appelle "+monDico["prenom"]+" "+monDico["nom"]+", je suis né le "+monDico["date de naissance"])
monDico['lieu naissance']="Bonneville"
print ("à "+monDico["lieu naissance"])
La fonction del()
permet, comme pour les listes, de supprimer une paire "clé/valeur" d'un dictionnaire.
Testez le code suivant dans la console :
mesFruits={"poire":3, "pomme":4, "orange":2}
print("avant le del")
print(mesFruits)
del(mesFruits["pomme"])
print("après le del")
print(mesFruits)
Testez le code suivant dans la console :
mesFruits={"poire":3, "pomme":4, "orange":2}
print(mesFruits)
print ("Nous avons vendu une pomme")
mesFruits["pomme"]=mesFruits["pomme"]-1
print(mesFruits)
Vous pouvez utilisez une boucle for pour traiter successivement tous les éléments d'un dictionnaire mais attention :
Testez le code suivant dans la console :
mesFruits={"poire":3, "pomme":4, "orange":2}
for fruit in mesFruits:
print(fruit)
Un dictionnaire étant donné, écrivez un programme script15.py qui affiche chaque paire clé/valeur sur une ligne de façon lisible. Cela donnerait par exemple pour le disctionnaire précédent :
poire -> 3 pomme -> 4 orange -> 2