PA Ntropython Basesalgorithmiques
PA Ntropython Basesalgorithmiques
PA Ntropython Basesalgorithmiques
2
Algorithmie vs. Programmation
Algorithmie Programme
3
Mode compilé vs. mode interprété
4
Etapes de la conception d’un programme (Génie Logiciel)
1. Déterminer les besoins et fixer les objectifs : que doit faire le logiciel, dans
quel cadre va-t-il servir, quels seront les utilisateurs types ? On rédige un
cahier des charges avec le commanditaire du logiciel (Remarque :
commanditaire = m aî t r e d ’ o u v r a g e ; réalisateur = m aî t r e d’œuvre)
2. Conception et spécifications : quels sont les fonctionnalités du logiciel, avec
quelle interface ?
3. Programmation : modélisation et codage
4. Tests : obtient-on les résultats attendus, les calculs sont corrects, y a-t-il
plantage et dans quelles circonstances ? (tests unitaires, tests
d’intégration, etc.)
5. Déploiement : installer le chez le client (vérification des configurations,
installation de l’exécutable et des fichiers annexes, etc.)
6. Maintenance : corrective, traquer les b ugs et les corriger (patches) ;
évolutive (ajouter des fonctionnalités nouvelles au logiciel : soit sur
l’ergonomie, soit en ajoutant de nouvelles procédures)
5
Mode de fonctionnement sous Python
6
Python est un langage de programmation interprété. Il est associé à un
interpréteur de commandes disponible pour différents OS (Windows, Linux, Mac
OS X, etc.)
De fait, il est de plus en plus populaire, y compris auprès des data scientists.
Il est plus généraliste que R qui est vraiment tourné vers les statistiques.
7
Python propose les outils standards de la programmation (1/2)
8
Python propose les outils standards de la programmation (2/2)
9
Python – Mode opératoire 1
10
Python – Mode opératoire 2
11
Python – Mode opératoire 3 – Utiliser IDLE (environnement de dev. de Python)
Editeur de code
Console IPython
Sorties + interaction avec l’utilisateur
13
Types de données, variables, opérations
BASE S DE PYTHON
14
Premières opérations
Affectation – Typage automatique
Ø a = 1.2
a est une variable, en interne elle a été automatiquement typée en flottant « float » parce
qu’il y a un point décimal. a est l’identifiant de la variable (attention à ne pas utiliser le mots
réservés comme identifiant), = est l’opérateur d’affectation
Calcul
Ø d = a + 3
d sera un réel contenant la valeur 4.2
• Numérique qui peut être int (entier) ou float (double). Les opérateurs applicables
sont : + , - , * , / (division réelle), ** (puissance) , % (modulo) , // (division entière)
Types élémentaires de Python
• bool correspond au type booléen, il prend deux valeurs possibles True et False
(respecter la casse). Les opérateurs sont not (négation), and (ET logique), or (OU
logique)
• str désigner les chaînes de caractères. Une constante chaîne de caractère doit être
délimitée par des guillemets (ou des quotes)
ex. a ß « tano » affecte la valeur « tano » à l’objet a qui devient donc une variable de
type chaîne de caractères. Une chaîne de caractère se comporte comme un vecteur :
len() pour connaître sa longueur, a[0] à « t », a[1:3] à « ano », a[2:] à « no », etc.
• Remarque : pour connaître la classe d’un objet i.e. le type associé à un objet, on
utilise la fonction type(nom_objet)
ex. type(1.2) à renvoie la valeur ‘float’
16
Instanciation et affectation
17
Opérations, expressions, enchaînements
a = 1;b = 5 ;d = a + b;
Autres possibilités
a = 1;
Personne n’utilise
b = 5;
ces écritures d = a + b;
18
Transtypage
Conversion en numérique
a = « 12 » # a est de type chaîne caractère
b = float(a) #b est de type float
N.B. Si la conversion n’est pas possible ex. float(« toto »), Python renvoie une
erreur
Conversion en logique
a = bool(« TRUE ») # a est de type bool est contient la valeur True
a = bool(1) # renvoie True également
19
Opérateurs de comparaison
20
Saisie et affichage à la console
E N T R É E S ET S O R T I E S
21
Saisie et affichage
Affichage
#Affichage explicite • Un affichage multiple est possible
print(a) Ex. print(a,b) #affiche a et b
22
Un exemple
23
Branchements conditionnels et boucles
STRUCTURES
ALGORITHMIQUES
24
Branchement conditionnel « if »
if condition:
bloc d’instructions
else:
bloc d’instructions
25
Branchement conditionnel « if » (exemple)
Noter l’imbrication
des blocs.
Le code
appartenant au
même bloc doit être
impérativement
aligné sinon erreur.
26
Succession de if avec elif
27
Avant la boucle « for » : génération d’une séquence de valeurs
28
Boucle « for »
Remarque :
• Attention à l’indentation toujours
• On peut « casser » la boucle avec break
• On peut passer directement à l’itération suivante avec continue
• Des boucles imbriquées sont possibles
• Le bloc d’instructions peut contenir des conditions
29
Boucle « for » (exemple)
Observez attentivement
les indentations.
30
Boucle « while »
Opération de comparaison
Attention à la boucle infinie !
while condition:
bloc d’instructions
Remarque :
• Attention à l’indentation toujours
• On peut « casser » la boucle avec break
31
Boucle « while » (exemple)
Ne pas oublier
l’initialisation de i
Observez attentivement
les indentations.
32
Références
Site de Python
Welcome to Python - https://www.python.org/
Python 3.4.3 documentation - https://docs.python.org/3/index.html
Portail Python
Page Python de Developpez.com
33