Objectifs
- Fondamentaux de la programmation en Python
- Manipulation des fichiers
- Interaction avec l'utilisateur
- Analyse des données (basique)
Exercices
- Installation de Jupyter, affichage des messages, variables, type de données, liste, ensemble et tuples.
- Expressions conditionnelles, boucles for
- Tri
- Dictionnaires
- Fichiers, interaction avec l'utilisateur
Evaluation
Chaque exercice a un niveau de difficulté. Les exercices faciles et de difficulté moyenne vous aident pour comprendre les fondamentaux. Il est recommandé de finir ces exercices avant de commencer les exercices difficiles. Le niveau de difficulté de l'exercice:
- ★: Facile
- ★★: Moyen
- ★★★: Difficile
Exercice 1 ★
Installation
Exécuter les commandes suivantes sur votre machine virtuelle
pip
$ sudo apt install python-pip
jupyter
$ python3 -m pip install jupyter
Hello World!
$ mkdir TP1 && cd TP1
$ jupyter notebook
Cliquer sur l'onglet 'Running'.
Aller à l'onglet 'Files' et cliquer sur New et choisir Python3 sous Notebook
Ça ouvre un nouvel onglet
print("Hello World!")
Cliquez dans n'importe quelle cellule et appuyez 'Run'.
Par défaut, votre Notebook est nommé 'Untitled'. Vous pouvez le renommer en cliquant sur le texte 'Untitled' et en donnant un nouveau nom.
Maintenant allez à l'onglet 'Files' tab et vous pouvez voir votre Notebook.
1. Commentaires
#Ceci est un commentaire
print("Bonjour")
2. Variables
#une variable
message = "le monde!"
print(message)
a = 10
b = 20
c = a + b
print(c)
#nombres flottantes
pi = 3.14
print(pi)
#type de données
message1 = "Bonjour"
a = 12
pi = 3.14
print(type(message1))
print(type(a))
print(type(pi))
3. Concatenation de chaine de caractères
#concatenation de chaine de caractères
message = "le monde!"
print("Bonjour" + message)
#concatenation de chaine de caractères
message1 = "Bonjour "
message2 = "le monde!"
print(message1 + message2)
#concatenation de deux différents types de données
message1 = "Bonjour en Python"
a = 3
print(message1 + a)
#concatenation de deux différents types de données
message1 = "Bonjour en Python "
a = 3
print(message1 + str(a))
4. Liste
a = [10, 20, 30, 40, 50]
print(a)
a = [10, 20, 30, 40, 50]
print(a[0])
print(a[1])
print(a[2])
print(a[3])
print(a[4])
a = [10, 20, 30, 40, 50]
print(a[8])
message1 = "Bonjour en Python "
print(message1[0])
print(message1[1])
print(message1[2])
print(message1[3])
print(message1[4])
print(message1[5])
print(message1[6])
print(message1[7])
message1 = "Bonjour en Python "
print(len(message1))
a = [10, 20, 30, 40, 50]
print(len(a))
a = [10, 20, 30, 40, 50]
a.append(60)
print(a)
a = [10, 20, 30, 40, 50]
a[0] = 0
print(a)
a = [10, 20, 30, 40, 50]
a[6] = 20
print(a)
a = [10, 20, 30, 40, 50]
a.insert(0, 0)
print(a)
print(len(a))
a = [10, 20, 30, 40, 50]
a.insert(6,60)
print(a)
print(len(a))
5. Tuple (une liste qui ne peut plus être modifiée.)
a = (10, 20, 30, 40, 50)
print(a)
a = (10, 20, 30, 40, 50)
print(a[0])
a = (10, 20, 30, 40, 50)
a[0] = 0
print(a)
6. Ensemble (set)
a = {10, 20, 30, 40, 50, 10, 20, 30, 40, 50}
print(a)
a = {10, 20, 30, 40, 50, 10, 20, 30, 40, 50}
a.add(10)
print(a)
a = {10, 20, 30, 40, 50, 10, 20, 30, 40, 50}
a.add(60)
print(a)
a = {10, 20, 30, 40, 50, 10, 20, 30, 40, 50}
a.remove(40)
print(a)
#set
a = {10, 20, 30, 40, 50, 10, 20, 30, 40, 50}
print(a)
print(type(a))
#tuple
b = (10, 20, 30, 40, 50, 10, 20, 30, 40, 50)
print(b)
print(type(b))
#liste
c= [10, 20, 30, 40, 50, 10, 20, 30, 40, 50]
print(c)
print(type(c))
Exercice 2 ★
1. Expressions conditionnelles
a = 12
if( a%2 == 0):
print(a, " est divisible par 2")
else:
print(a, " n'est pas divisible par 2")
lang = "Français"
if (lang =="Français"):
print("Bonjour le monde!")
else:
print("Hello World!")
2. Boucles for
for i in [10, 20, 30, 40, 50, 10, 20, 30, 40, 50]:
print(i)
for i in (10, 20, 30, 40, 50, 10, 20, 30, 40, 50):
print(i)
for i in {10, 20, 30, 40, 50, 10, 20, 30, 40, 50}:
print(i)
2. Range
for i in range(0,10):
print(i)
for i in range(0,10,2):
print(i)
for i in range(0,10,2):
print(i, end=' ')
for i in range(10,0,-2):
print(i)
for i in range(10,0):
print(i)
Corrigez le code au-dessus pour avoir une bonne réponse pour afficher les numéros en ordre croissant.
for i in "Bonjour le monde!":
print(i)
Comparez la différence entre le code ci-dessous et le code au-dessus.
for i in "Bonjour le monde!".split():
print(i)
for i in "Bonjour,le,monde!".split():
print(i)
for i in "Bonjour,le,monde!".split(","):
print(i)
Coder en Python un progamme pour avoir la réponse ci-dessous.
1
12
123
1234
12345
123456
1234567
12345678
Exercice 3 ★★
1. Tri
num = [10, 20, 30, 40, 50, 10, 20, 30, 40, 50]
num.sort()
print(num)
2. Tri en ordre décroissant
num = [10, 20, 30, 40, 50, 10, 20, 30, 40, 50]
num.sort(reverse=True)
print(num)
3. minimum
num = [10, 20, 30, 40, 50, 10, 20, 30, 40, 50]
print(min(num))
4. maximum
num = [10, 20, 30, 40, 50, 10, 20, 30, 40, 50]
print(max(num))
5. sorted()
num = [70, 20, 30, 10, 50, 60, 20, 80, 70, 50]
num = sorted(num,reverse=True)[:5]
print(num)
Modifiez le code au-dessus pour afficher les cinq plus grands nombres uniques.
print(sorted("Bonjour le monde!".split(), key=str.lower, reverse=True))
Exercice 4 ★★
1. Dictionnaires
a = {"contente": 12, "content": 12, "triste": 2}
print(a)
print(type(a))
a = {"contente": 12, "content": 12, "triste": 2}
for cle in a:
print("la phrase ", cle, " apparait ", a[cle], " fois")
a = {"contente": 12, "content": 12, "triste": 2}
for cle,valeur in a.items():
print("la phrase ", cle, " apparait ", valeur, " fois")
a = {"contente": 12, "content": 12, "triste": 2}
a["joie"] = 10
print(a)
a = {"contente": 12, "content": 12, "triste": 2}
del a["triste"]
print(a)
mots = {"contente": 12, "content": 12, "triste": 2, "joie" : 10}
print(sorted(mots))
mots = {"contente": 12, "content": 12, "triste": 2, "joie" : 10}
mots_tuple = [(cle, valeur) for cle,valeur in mots.items()]
print(mots_tuple)
2. itemgetter
from operator import itemgetter
mots = {"contente": 12, "content": 12, "triste": 2, "joie" : 10}
mots_tuple = [(cle, valeur) for cle,valeur in mots.items()]
print(sorted(mots_tuple, key=itemgetter(1)))
3. Interaction avec l'utilisateur
nom = input("Quel est votre nom?")
print(nom)
age = input("Quel est votre âge? ")
print(age)
print(type(age))
age = input("Quel est votre âge? ")
age = int(age)
print(age)
print(type(age))
Question 1: Coder en Python un programme pour demander un utilisateur les informations suivantes:
- Nom d'un(e) étudiant(e)
- Age
- Les notes dans 5 modules
Une fois que vous avez eu toutes les informations, calculez les valeurs suivantes pour chaque module et affichez les résultats suivants:
- la moyenne de la classe
- la note minimum
- la note maximum
Exercice 5 ★★★
1. Manipulation d'un fichier
message = "Bonjour le monde"
with open("bonjour.txt", "w") as file:
file.write(message)
file.close()
with open("bonjour.txt", "r") as file:
text = file.read()
print(text)
file.close()
message1 = "Bonjour le monde"
message2 = "Programmation en Python"
with open("bonjour.txt", "w") as file:
file.write(message1)
file.write(message2)
file.close()
with open("bonjour.txt", "r") as file:
text = file.read()
print(text)
file.close()
message1 = "Bonjour le monde\n"
message2 = "Programmation en Python"
with open("bonjour.txt", "w") as file:
file.write(message1)
file.write(message2)
file.close()
with open("bonjour.txt", "r") as file:
text = file.read()
print(text)
file.close()
2. readline()
message1 = "Bonjour le monde\n"
message2 = "Programmation en Python"
with open("bonjour.txt", "w") as file:
file.write(message1)
file.write(message2)
file.close()
with open("bonjour.txt", "r") as file:
text = file.readline()
print(text)
file.close()
message1 = "Bonjour le monde\n"
message2 = "Programmation en Python\n"
with open("bonjour.txt", "w") as file:
file.write(message1)
file.write(message2)
file.close()
with open("bonjour.txt", "r") as file:
for line in file:
print(line)
file.close()
Question 2: Copier ce fichier HTML dans votre répertoire. Coder en Python afin d'obtenir les résultats suivants:
- le nombre de caractères dans le texte
- le nombre de lignes dans le texte
- le nombre de mots dans le texte
- les mots distincts dans le texte
- les vingt premiers mots dans le texte
Question 3: Copier ce fichier CSV dans votre répertoire. Le fichier contient la population entre 1901 et 2016. Coder en Python afin d'avoir les résultats suivants:
- La population moyenne
- Visualiser la population et sa croissance
- Prévoire la population en 2050.