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.
