0% ont trouvé ce document utile (0 vote)
11 vues24 pages

TP Parfait Methodes Numeriques Slide1

Tp IUT

Transféré par

damajoachimstanley
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues24 pages

TP Parfait Methodes Numeriques Slide1

Tp IUT

Transféré par

damajoachimstanley
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Ngaoundéré University of Ngaoundere

Ecole Nationale Supérieure des Sciences National School of Agro-Industrial


Agro-Industrielles Sciences
Département de Mathématiques et Department of Mathematics and
Informatique Computer Sciences

Note de cours: Initiation au language PYTHON


(Anaconda: Jupyter et Spyder)

Écrit par:
Dr TCHOUMI (Chargé de Cours)/ Dr TANGUE (Chargé de Cours)
M. SOBGOU FOPPA Parfait
Ph.D Student in Mechanical and Production Engineering
Data Scientist

Contact: parfaitsobgou87@[Link]
+237 697-270-541/ 674-101-844

Année Académique 2023/2024


1/24
Organisation de la formation

1 Prérequis et Objectifs
2 Installation et Exploration d’Anaconda
3 Variables, Types et Opérations
4 Structures de données : Liste, String, Tuples, Dictionnaires
5 Stuctures de contrôle et de de données
6 Built-In-Functions
7 Fonction et Modules
8 Packages
9 Références Bibliographiques

2/24
Prérequis et Objectifs

Prérequis :
Disposer à apprendre une nouvelle compétence.
Objectifs :
Familiariser les étudiant(e)s au language de programmation Python ;
Initier aux calculs de base ;
Effectuer des opérations sur des listes, matrices ;
Initier aux structures de données et à la définition de fonctions.
Initier à la création de graphiques 2D, 3D.

3/24
Installation et Exploration d’Anaconda

Installation :
https ://[Link]/
https :// [Link]/download
Observation de l’interface :
Jupyter NoteBook
Spyder

4/24
Variables, Types et Opérations

Variables Strings : Opérations Affectation


"Python the best in IaaCige = "Python the best in
DataScience !" DataScience !"
type("Python the best in a = 2 # Affectation ou
DataScience !")# Strings(chaine Declaration par assignation
de caractère) b = 5.2 #
Variables int et float : Opérations Arithmétiques
2 print(a + b ) #Addition
type(2) # int : integer (entier) print(b − a) #Soustraction
5.2 print(a ∗ b ) #Multiplication
type(5.2) # float : (réelle) print(b/a) #Division normale
print(b//a) #Division entiere
print(b ∗ ∗a) #Puissance
print(b%a) #Modulo (Reste de
la division)
5/24
Variables, Types et Opérations

Opérations Concatenation Opérations Comparaisons


IaaCige1 = "Python the best in print(a <= b)
DataScience" print(a >= b)
IaaCige2 = "Field !" print(a == b)
print(IaaCige1 +’ ’+ IaaCige2 ) print(a != b)
Opérations Slicing Opérations Logiques
print(IaaCige1[0 :18]) print(False&True ) #AND
print(IaaCige1[19 :]) print(False |True ) #OR
Ecriture contractée print(FalseˆTrue ) #XOR
a = a + b égal : a += b Opérations conversion de variable
a = a - b égal : a -= b int(b) # conversion d’un float
a = a*b égal : a *= b en integer
a = a/b égal : a /= b float(a) # conversion d’un
a = a**b égal : a **= b integer en float
a = a%b égal : a %= b str(a) # conversion d’un integer
en chaine de caractère 6/24
Structures de données : Liste, String, Tuples, Dictionnaires

Les listes
liste1 = [ ] # Déclaration d’une liste (vide)
print(liste1)
type(liste2)
liste2 =[5, 4, 8, 10] # liste numérique
print(liste2)
liste3 = ["Mbouda", "Yaounde", "Douala", "Bamenda"] # liste de
chaine de caractères
print(liste3)
Opérations sur les listes
liste4 = liste2 + liste3 # création d’une liste à partir de deux listes
print(liste4)
[Link]("Ngaoundere") # Ajout d’un élément dans une liste.
print(liste3)
[Link](0,"Dschang") # insertion d’un élément à une position
précise (0)
len(liste2) # longueur de notre liste
print(liste3[0 :4 :1]) # Slicing avec un pas de 1
print(liste3[0 :4 :2]) # Slicing avec un pas de 2 7/24
Structures de données : Liste, String, Tuples, Dictionnaires

liste2 [1] = 31 # modification de élément ce trouvant à la position 1


de la liste2
del liste2 [1] ou [Link](4) # supprimer un élément de la liste
[Link]() # inversion d’une liste
[Link]() # trier une liste par ordre alphabétique
[Link](reverse = TRUE) # trier une liste par ordre anti-alphabétique
List Comprehension :
liste3 = [[i for i in range(3)] for j in range(3)]# nested list (liste de
listes)

Algorithme : list Algorithme : list comprehension


import time import time
start = [Link]() start1 = [Link]()
liste1 = [] liste2 = [i**2 for i in range(10000000)]
for i in range(10000000) : end1 = [Link]()
[Link](i**2) print(end1-start1)
end = [Link]()
print(end-start) 8/24
Structures de données : Liste, String, Tuples, Dictionnaires

Les strings
prenom = "ENSAI"
print(prenom[0], prenom[1], prenom[2], prenom[3], prenom[4] ) # Af-
fiche chaque élément de la chaine de caractères
Les tuples
tuples1 = ( ) # Déclaration de tuples : est comme une liste mais à la
seule différence que lorsqu’on la crée on ne peut pas la modifier : elle
est immutable
tuples2 = (1, 2, 3)
print(tuples2)
Tuples comprehension : tuple1 = tuple((i**2 for i in range(10)))

9/24
Structures de données : Liste, String, Tuples, Dictionnaires

Les dictionnaires
dict1 = {} # Déclaration de dictionnaire (vide)
Dans les dictionnaires nous avons des clef et des valeurs :
dict2 = {”IAA” : 53; ”CIGE ” : 48; ”MIP” : 53} # Filières parcours in-
génieur ENSAI
print(dict2)
[Link]() # values() affiche les valeurs du dictionnaire
[Link]()# keys() affiche les clefs de notre dictionnaire
dict2["IEAI"] = 45 # pour ajouter une nouvelle clef dans notre diction-
naire
[Link]()# obtenir les clef du dictionnaire
[Link]("IAA") # obtenir la valeur de la clef IAA
Exercice : créer un dictionnaire à partir de la méthode des dictionnaires
comprehension qui à pour clef une suite de nombre allant de 1 jusqu’à n
ou n est le nombre de personnes dans un groupe et pour values le nom ou
prénom des membres du groupe. Indice : fonction enumerate()
10/24
Stuctures de contrôle et de de données

Les trois stuctures de contrôle :

if, else, elif for


x = int(input("Entrez la valeur de x")) for i in range(10) :
if x > 0 : print(f"{i } Bonjour")
print(f"{x } est positif")
elif x == 0 : while
print(f"{x } est nul") x=0
else : while x < 10 :
print(f"{x } est négatif") print(x)
x+=1
if, else, elif : permet de creer des algorithmes où certaines action ne sont exécutées
lorsque certaines conditions sont vérifiées.
for : permet de construire des algorithmes itératifs i.e. qui contiennent des actions qui se
repètent autant de fois que l’on souhaite.
while : est vue comme un mélange entre if et for. elle nous permet de faire des itérations
lorsque la condition à l’entete est repectée.

11/24
Stuctures de contrôle et de de données

Example1
name = input("nom = ") # demande à l’utilisateur d’entrer son nom
if (len(name) < 5) :
print("Ugly")
else :
print("pretty")

Example2
for i in range(10) :
print("Month {0} : i am tincking".format(i+1))
print("Month {} : I accept your proposal".format(str(i+2)))

Example3
revenu = float(input("revenu =" ))
while revenu < 100000 :
print ("Cherche encore l’argent ! ! !")
revenu+=1
print(revenu)
print("Ton argent suffit")
12/24
Built-In-Functions

a = -5
abs(a) # fonction valeur absolue
b = 3.14
round(x) #fonction arrondie
print(argument) # pour afficher un résultat
Liste1 = [10, 5, 3,15, 90]
print(max(Liste1)) # pour avoir le maximum de notre liste
print(min(Liste1))# pour avoir le minimum de notre liste
print(sum(Liste1))# pour avoir la somme de notre liste
print(all(Liste1))# cette fonction nous retourne True car tous les élé-
ments de notre liste sont supérieurs à 0
print(any(Liste1))# cette fonction nous retourne True car au moins un
des éléments de notre liste n’est pas égal à 0
format() elle permet de personaliser les chaines de caractères (de leurs
rendrent dynamique).
input() # fonction qui permet l’interaction avec l’utilisateur (strings
par défaut)
13/24
Built-In-Functions

range() # nous permet de générer une séquence de nombre dans python. Elle
a trois argument range(a,b,c) : a represente la valeur initiale (modifiable, par de-
faut c’est 0) ; b represente la valeur finale(modifiable) et c represente le pas de
discrétisation (par defaut c’est 1)
enumerate() # permet d’afficher les index.
copy() # permet d’éffectuer une copie d’un objet
zip() : # zip permet d’afficher les éléments de deux listes distintes
suivant la position de chacun dans la liste. La boucle s’arret sur la liste
ayant la plus petite longueur.
Fonction open()
f = open("[Link]", "w")# création d’un fichier [Link] est le nom de
notre fichier. "w" représente le mode écriture (il y’a plusieurs autre modes)
[Link](argument) # écrire dans le fichier créer
[Link]() # pour fermer le fichier
Lecture du fichier
with open("[Link]", "r") as f :
print([Link]())
14/24
Fonction et Modules

Définition d’une fonction


def NomFonction(param1, param2, param3,...) :
intructions...
return instructionsValues
Exemple :
def fibonacci(n) :
# retourne une serie de fibonnaci dans une liste a, b = 0, 1
fib = [ ]
while a < n :
[Link](x)
a,b = b, a+b
return fib

15/24
Fonction et Modules

Module : est un fichier contenant des commandes que nous avons créé
pour un but precis. Par exemple un module peut comprend une ou plusieurs
fonctions qui executent une tache.
Exemple utilisation de module
import ModuleCreation as mc
liste = [Link](100)
liste
le dossier pycache créer à la suite de l’importation et l’utilisation du module
permet de créer les connexions entre différents module.

16/24
Packages

Il existe plusieurs Packages. Dans le cadre de cette présentation, nous inté-


résserons aux packages essentielles au calcul numérique.
import os
import glob
import math
import numpy as np
import [Link] as plt # matplotlib : Visualisation graphique,
pyplot : visualisation en 2D

import os
[Link]() # pour connaitre le nom du répètoire de travail

import glob
[Link]("*") # Pour voir tous les fichiers qui sont dans notre
repètoire(dossier) de travail.
[Link]("*.txt")# affiche tout les fichiers avec l’extension précisée
17/24
Packages

Package math
import math
[Link](a) # cosinus de a
[Link](a) # exponentiel de a
[Link](a)# factoriel de a
[Link](a)# valeur absolue de a
[Link] # valeur de pi
[Link](a, b) # a à la puissance b

Package numpy
import numpy as np
A = [Link]([1, 2, 3, 4]) # tableau à 1D : une liste
[Link] # pour vérifier la dimension d’un tableau ici c’est 1D une liste
[Link] # la forme du tableau
[Link]((3,3))# créait un tableau(matrice) avec des éléments 0
[Link]((3,5))# créait un tableau avec des éléments 1
[Link]((4, 4), 7) # créait un tableau avec l’élément spécifié ici 9
[Link](4)# pour créer une matrice d’identité
18/24
Packages

Package numpy (suite...)


[Link](a, b, c) # a : point de début et b : point de fin et c : le nombre
d’élément qu’on souhaite.
[Link](a,b, c) # c le pas de dicrétisation

Numpy indexing, slicing, subsettings


A = [Link]([[1,2,3],[4,5,6],[7,8,9]])
Indexing
A[0,0] # accès à l’élément qui est à la première ligne et première colonne
A[1,0]# accès à l’élément qui est à la deuxième ligne et première colonne
A[1,1]# accès à l’élément qui est à la deuxième ligne et deuxième colonne

Slicing
A[début : fin, début :fin] # ici on définit un indexe de début et fin pour la
ligne et la colonne
A[ :,0] # accès à tous les élément de la colonne 0
A[0, :] # accès à tous les élément de la ligne 0
19/24
Packages

subsetting
A[0 :, -2 :] # accès à la sous matrice contituée des deux dernières colonnes
A[1 :, 1 :] # accès à une sous matrice de A
A[1 :, :2] # accès à une sous matrice de A

Remplir une matrice


D = [Link]((4,4))
D[1 :3, 1 :3] = 1 # remplacer les cellules du milieux par des 1
G = [Link]((5,5))
G[ : :2, : :2] = 1 # remplir la matrice G avec la valeur 1 en sortant chaque
fois de 2.
T = [Link](0,10, [5,5]) # génère des nombres entier de 0 à 10
dans une matrice 5 ∗ 5
print(T)
[Link](0)# pour avoir la même séquence.
T[T< 5]= 10 # on remplace tous les éléments < 5 par la valeur 10

20/24
Packages

Package matplotlib et pyplot Package matplotlib et pyplot


import [Link] as plt import [Link] as plt
import numpy as np import numpy as np
def f(x) : def f(x) :
return x**2 -1 return [Link](x)
x = [Link](0, 10, 20) x = [Link](0, 10, 20)
y = f(x) y = f(x)
print(y) print(y)
[Link](x,y) [Link](x,y)
[Link]("Axes des Abscices") [Link]("Axes des Abscices")
[Link]("Axes des Ordonnées") [Link]("Axes des Ordonnées")
[Link]("Fonction x**2 - 1") [Link]("Fonction x**2 - 1")
[Link]() [Link]()

21/24
Packages

fonction f(x,y) fonction f(x,y) en 3D


def f(x,y) : def f(x,y) :
return [Link](x)-[Link](y) return [Link](x)-[Link](y)
print(f(0.5, 1)) x = [Link](0, 10, 20)
x = [Link](0.5, 10, 20) y = [Link](0, 10, 20)
y = [Link](1, 10, 20) X , Y = [Link] (x , y ) #
z = f(x,y) Tableau contenant les points (xi , yi )
print(z) Z = f (X, Y)
[Link](x,z, "o-", y,z, "-") fig = [Link] ()
[Link]() ax = [Link] ( projection ="3d")#
ax . plot_surface (X , Y , Z) ; #

22/24
Références Bibliographiques

Références... I

Eric Matthes. Python Crash Course 3rd Edition

Jaan Kiusalaas. Numerical Methods in Engineering with Python 3. The Penn-


sylvania State University

23/24
Références Bibliographiques

Mots de fin ...

Merci de votre intérêt pour ce TP !


Merci pour vos remarques et questions.

24/24

Vous aimerez peut-être aussi