Python
Lycée Don Bosco
TS SI ISN
Bernard STRAUDO
Table des
matières
Introduction 3
I - Bases Python 4
1. Calculs simple ............................................................................................................................................ 4
2. Structure d'un programme ....................................................................................................................... 4
2.1. Présentation de la structure d'un programme .............................................................................................................. 4
II - Instructions 6
1. Entrées sorties consoles .......................................................................................................................... 6
2. Boucles ......................................................................................................................................................... 7
2.1. for ............................................................................................................................................................................................. 7
2.2. while ......................................................................................................................................................................................... 8
3. if else ............................................................................................................................................................ 8
III - Instructions avancées 10
1. Fonction ..................................................................................................................................................... 10
2. Import ......................................................................................................................................................... 10
3. Représentation graphique d'une fonction ........................................................................................... 11
IV - Tkinter 12
1. Tkinter le principe ................................................................................................................................... 12
2. Exemple Tkinter ....................................................................................................................................... 12
V - Algorithmes particuliers 14
1. Recherche par dichotomie ..................................................................................................................... 14
2. Tri ................................................................................................................................................................ 14
Introduction
Le langage Python est un langage interprété disponible sous diverses plates-formes (UNIX, Linux, windows
et OS).
Crée par Guido van Rossum en 1989. Il possède un grand nombres de bibliothèques, orienté objet.
Ce cours sera basé sur la branche 3.
3
Bernard STRAUDO
Bases Python
Bases Python
I
Calculs simple 4
Structure d'un programme 4
1. Calculs simple
Opération simple :
+-*/
Puissance **
Division
% dividende
// reste
nombre complexe : j
Bibliothèque math
Avant vous devez faire : from math import *.*
racine carrée sqrt()
sin(), cos(), tan() et pour arccos acos()....
log(nombre,base) base est optionnel 10 pour log et rien pour ln.
pi pour le nombre π et e pour le nombre e
2. Structure d'un programme
2.1. Présentation de la structure d'un programme
importation des bibliothèques (s'il y a lieu)
déclaration des fonctions (s'il y a lieu)
programme principal
1 import math #importation de la bibliotheque
2
3 #definition d'une fonction
4
4 def pulsation(n):
5 w= 2*[Link]*n/60
6 return w
7
8 #Programme principal
9 P=float(input("Puissance en kW "))*1000
10 n=int(input("Vitesse (tr/min) "))
11 rend=int(input("Rendement (%) "))
12 w= pulsation(n)
13 p= int(50/n*60)
14 ns= 50/p*60
15 g=(ns-n)/ns
16 print("Nombre paires de poles ",p," vitesse de synchronisme ",ns," tr/min")
17 print("g = ",g*100," %")
18 print("Couple ",P/w," N.m")
19 print("Puissance absorbée ",P/rend*100/1000," kW")
La délimitation des blocs se fait par l'indentation
1 for i in range(1,6):
2 print("valeurs")
3 print(i)
4 print("Fin")
5
Pour mettre des commentaires commencer la ligne par #
5
Instructions
Instructions
II
Entrées sorties consoles 6
Boucles 7
if else 8
1. Entrées sorties consoles
Syntaxe : Sorties écran
Permet d'afficher à l'écran un texte, un nombre le contenu d'une variable
print ( )
Exemple
1 a=4
2 b="Hello"
3 print("test ",25," ",a,b)
Il apparaît alors à l'écran :
test 25 4 Hello
Syntaxe : Entrées
Permet de taper un texte qui sera stocké dans une variable
input()
1 a=input("Entrez le texte")
Il apparaît à l'écran
Entrez le texte
Et le texte que vous avez tapez sera stocké dans la variable a
Attention : quoique vous tapiez se sera considéré comme du texte
Complément : Conversion
Il faut donc réaliser une conversion si l'on veut obtenir un nombre.
int() pour obtenir un entier
float() un nombre à virgule flottante
long() entier comportant autant d'octets que peut supporter la mémoire disponible de la machine
6
Boucles
Exemple
int("2456") transforme la chaîne de caractères "2456" en le nombre 2456
Différence chaîne de caractères et nombre
Chaîne de caractères : "12"+"34" est égale "1234"
Nombre : 12+34 est égale à 46
Donc pour récupérer un nombre à virgule flottante tapé au clavier : a=float(input())
2. Boucles
Permet de réaliser plusieurs fois les mêmes instructions
2.1. for
fonction
Permet de réaliser un nombre de fois déterminer les mêmes instructions
Syntaxe
1 for variable in range(intervalle) :
2 instruction
3
4
Attention si l'intervalle est (1,7) la variable prendra les valeurs entières de 1 à 6
Exemple : Une seule boucle
L'exemple suivi du résultat à l'écran.
1 for i in range(1,6):
2 print(i)
Exemple : Deux boucles imbriquées
L'exemple suivi du résultat à l'écran.
1 for i in range(1,6):
2 for j in range(1,3):
3 print(i," / ",j)
4
7
1/1
1/2
2/1
2/2
3/1
3/2
4/1
4/2
5/1
5/2
2.2. while
Fondamental : tant que
1 while « condition logique » :
2 instructions
Exemple
1 a=0
2 while a!=6 :
3 a=a+2
4 print(a)
Il s'affichera
3. if else
L'instruction est "if" (si)
"else" pour le cas ou la condition logique est fausse.
1 if condition logique :
2 instructions
3 else :
4 instructions
Exemple
1 if a>10 :
2 print("Trop grand")
8
if else
3 else :
4 print("Trop petit")
9
Instructions avancées
Instructions avancées
III
Fonction 10
Import 10
Représentation graphique d'une fonction 11
1. Fonction
Exemple
1 def puissance(nombre, puissance) :
2 print(nombre," à la puissance ", puissance,"=",nombre**puissance)
3
4 puissance(3,12)
Nombre et puissance sont les paramètres de la fonction
Exemple : Fonction au sens mathématique
1 def f(x):
2 return x**2-10
3
4 print(f(5))
Celle-ci renvoie la valeur calculer après l'instruction return
2. Import
Méthode : fichier [Link]
1 def f(x):
2 return x+2
3 def afficher(x):
4 print("Le résultat est ",x)
Méthode : Programme principal
1 import test
2 a=2+5*3
3 [Link](a)
4
Le programme principal import le programme [Link]
Les fonctions présentes dans test devront être précédées de "test." dans le programme principal.
Si l'on écrit "from test import *" cela n'est pas nécessaire.
10
Représentation graphique d'une fonction
3. Représentation graphique d'une fonction
1 import [Link] as plt
2 import numpy as np
3
4 x = [Link](0, 2*[Link], 30)
5 y = x**2
6 [Link](x, y)
7 [Link]("abscisses")
8 [Link]("ordonnees")
9
10 [Link]()
11
Tkinter
Tkinter
IV
Tkinter le principe 12
Exemple Tkinter 12
Bibliothèque permettant gérer des fenêtres, des objets, des images.
1. Tkinter le principe
Fondamental
La bibliothèque contient des classes (générateurs d'objets)
Une fois la fenêtre crée, par l'instruction fen=Tk() (fen contient alors la référence de la fenêtre).
A partir de cette opération on pourra crée des objets (des widgets) qui seront placés dans la fenêtre.
Button() pour bouton, Label pour un texte, Canvas() pour placer des formes géométriques, Entry()
pour un zone de saisi de texte.
grid() pour créer un tableau (une grille) pour poser des objets (des widgets).
Et enfin activer la méthode pack() sur l'objet. Exemple [Link]()
mainloop() lance le réceptionnaire d’événement. Exemple [Link]()
quit() pour arrêter le réceptionnaire et destroy() de fermer la fenêtre
Complément
Dans un canevas (Canvas), on peut créer des formes géométriques :
create_line(), create_oval(), create_rectangle(), create_text(), create_arc(), create_polygon,
create_image() précédé de PhotoImage()
delete() pour effacer
move() pour déplacer, coords() pour changer les coordonnées et itemconfig()
2. Exemple Tkinter
12
Exemple Tkinter
1 from tkinter import *
2
3 def affichage(mot) :
4 [Link] = Label(fen1, text=mot, fg='black')
5
6 #Creation de la fenetre
7 fen1 = Tk()
8 chaine = Label(fen1)
9 [Link]()
10 [Link]('test') #titre de la fenetre qui apparait en haut
11 # Menu <Fichier>
12 fileMenu = Menubutton(fen1, text ='Fichier')
13 [Link](side =LEFT)
14 #Partie "déroulante" :
15 me1 = Menu(fileMenu)
16 me1.add_command(label ='Effacer', underline =0,)
17 me1.add_command(label ='Terminer', underline =0,)
18 [Link](menu = me1)
19 # ecrire un texte
20 texte = Label(fen1, text='HELLO', fg='black')
21 [Link]()
22 #creation d un canevas pour recevoir des vignets
23 grille = Canvas(fen1,bg='gray70',height=500,width=200)
24 #image
25 photo = PhotoImage(file ='[Link]')
26 item = grille.create_image(200, 150, image =photo)
27
28 #Creation d un rectangle
29 grille.create_rectangle(20,20,100,200,width=10,fill='blue')
30 [Link]()
31 # Entree
32 mon_entry = Entry(fen1)
33 mon_entry.pack()
34
35 entree = mon_entry.get()
36
37 #creation d un bouton
38 bou1 = Button(fen1, text='Quitter', command = [Link])
39 [Link](side=BOTTOM)
40 bou2 = Button(fen1, text='Afficher', command = affichage(entree))
41 [Link](side=BOTTOM)
42
43 [Link]()
44
13
Algorithmes particuliers
Algorithmes
particuliers V
Recherche par dichotomie 14
Tri 14
1. Recherche par dichotomie
La liste, dans laquelle, nous désirons faire la recherche doit être triée.
On prends la valeur centrale
On regarde si la valeur recherchée est dans l'intervalle inférieur ou supérieur
On réitère l'opération dans le bon intervalle jusqu'à trouver la valeur recherchée.
1 # a borne inferieure, b borne superieure et x valeur recherchee
2 #tab contient les valeurs
3 a=0 et b = longueur de tab -1
4 c=(a+b)/2
5 Tant que tab(c)different de x
6 if tab(c)<x alors a=c+1
7 sinon b=c-1
8 c=(a+b)/2
2. Tri
Il existe différentes méthode pour trier une liste.
Méthode : Tri à bulles
L'algorithme consiste à parcourir l'entrée du début à la fin et, pour chaque couple d'éléments
consécutifs, à les intervertir s'ils sont mal ordonnés. Cette opération est répétée jusqu'à ce que la
structure soit triée (aucune interversion lors du dernier passage)
1 trie=faux
2 Tant que trie==faux
3 trie=vrai
4 Pour n de 0 a longueur-1
5 si a(n)>a(n+1) alors
6 echanger a(n) et a(n+1)
7 trie=faux
8
14
Tri
15