Creative Commons License

Objectifs

Exercices

  1. Installation de Jupyter, affichage des messages, variables, type de données, liste, ensemble et tuples.
  2. Expressions conditionnelles, boucles for
  3. Tri
  4. Dictionnaires
  5. 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:

  1. : Facile
  2. ★★: Moyen
  3. ★★★: 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:

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: