0% ont trouvé ce document utile (0 vote)
532 vues99 pages

Formation Python

Transféré par

khachaa
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)
532 vues99 pages

Formation Python

Transféré par

khachaa
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
Vous êtes sur la page 1/ 99

Training & Consulting

FORMATION PYTHON

DR. Imen Ben Othmane

1
Plan

 Présentation de Python
 Les types et les opérations de base
 Les structures conditionnelles
 Les listes, les tuples et les dictionnaires
 Les boucles While et For
 Les modules
 Les exceptions
 La programmation orientée objet
 La gestion du temps
 Interagir avec les fichiers

2
Inventé en 1989 par Guido van Rossum

 Simple : la syntaxe claire et lisible facilite considérablement


la création de programmes et leur mise au point.
 Open source : Echange et interaction
 Portable : on peut utiliser python sur (Windows, linux, Mac
OS)
 Moderne : Python offre les opportunités rencontrées dans
les autres langages de haut niveau.
 Python est le langage de programmation le plus utilisé dans
le domaine du Machine Learning, du Big Data et de la Data
Science.
3
Une énorme augmentation de la
demande pour les développeurs Python

4
SPYDER

L’environnement SPYDER (Scientific PYthon Development EnviRonment)


 Un environnement de développement pour le langage Python.
 Livré avec tout un ensemble de bibliothèques permettant de faire du calcul
scientifique, de développer des interfaces-utilisateurs et des visualisations
graphiques…..
 Il est livré avec
 Un éditeur pour écrire du code
 Une console pour saisir les données et voir les résultats, un
explorateur de variables pour voir les valeurs des variables lors de
l’exécution et plusieurs autres services que nous découvrirons peu à
peu

5
Présentation de Python

Bonton d’exécusion

La Zone de saisie

6
Installation python

7
Les types et les opérations de base
Python comme calculatrice:
On peut directement entrer des calculs dans la console.
 Les quatre opérations
» 2+2 »(50-5*6)/4
» 3+5*6 »8/2
 Arithmétique
• Les nombres entiers sont de type int
• Avec une partie décimale sont de type float (les nombres flottants).
• Les chaînes de caractères sont de type str
La commande type() donne le type d’une expression.
» type(2)
» type(2.0)
8
Les types et les opérations de base

 La division donne toujours un résultat de type float.


» 17/3 #float
 Imposer un travail sur les entiers.
» 17//3 #entier
» 17 % 3 #le reste de la division
 Puissances
»5**2
»6**3
 Les complexes
»(2+1j)+(3+2j)
»(2+1j)*(3+2j)
»(2+1j)/(1+2j)
9
Les types et les opérations de base

 Saisir une variable, afficher


» a=5
» print (a)

 L’affichage peut comporter un message aussi.


» a=5
» print("Le resultat est",a)
 Saisir une valeur
» a=5
» print("Le resultat est",a)

10
Les types et les opérations de base

Opérateur Signification Opérateurs


== Est égal à [Condition 1] and [Condition 2]
and Si les deux conditions sont vraies => True
!= Est différent de
>= Est plus grand ou égal que [Condition 1] and [Condition 2]
or Si une des conditions est vraie => True
<= Est plus petit ou égal que
> Est plus grand que Not [Condition]
Not Si la condition est fausse => True
< Est plus petit que

11
Les types et les opérations de base

Les opérateurs de comparaison renvoient « True » ou « False ».

12
Les types et les opérations de base

 Saisir une valeur

 L’instruction est input(), Dans les parenthèses,


on écrit le message qui s’affiche.
» a=input("Saisir a : ")
» print ("a vaut ",a)
 La variable saisie n’est pas considérée comme un nombre par
Python mais comme une chaine de caractères

» a=input("Saisir a : ")
» a=a+1
» print ("a vaut ",a)
13
Les types et les opérations de base

Sous Python, les noms de variables doivent obéir à quelques règles simples :

 Un nom de variable est une séquence de lettres (a → z , A → Z) et de chiffres (0 →


9).
 La casse est significative (les caractères majuscules et minuscules sont distingués).
 Donc "Joseph", "joseph", et "JOSEPH" sont des variables différentes.

 Un nom doit toujours commencer par une lettre.


 Ne pas contenir d’espace.
 Seules les lettres du code ASCII sont autorisées.
 Les lettres accentuées, les cédilles, les espaces, les caractères spéciaux
tels que $, #, @, etc. sont interdits, à l'exception du caractère underscore « _ »,

14
Les types et les opérations de base

1. Affectez les variables temps et distance par les valeurs 6.892 et 19.7.
Calculez et affichez la valeur de la vitesse.

2. Saisir un nom et un âge en utilisant l’instruction input(). Les afficher.

3. Algorithme sur la distance de deux points en repère orthonormé.


• Données : les coordonnées de points (x1, y1) et ( x2, y2),
• Sortie : la distance.

15
Python : Les structures
conditionnelles

16
Les structures conditionnelles

Dans un programme, les conditions permettent de faire des choix dépendants


des différentes données que l’on peut retrouver dans notre programme.
Il s’agit de faire un test sur la valeur d’un variable et agir en conséquence. Les
mots clés sont if et else.

Attention !
 Il n’y a pas de mot then.
 On décale d’une tabulation tout ce qui fait dans le « alors » et le « sinon ».
 Après chaque mot clé on trouve un « : »
 Un test d’égalité se fait avec deux signes égal : ==

17
Les structures conditionnelles

L’instruction if est la structure de test la plus basique.


Elle permet d’exécuter une série d’instructions si une
condition est vraie.
La syntaxe de cette expression est la suivante :

La structure conditionnelle avec alternative :


L’instruction elif (contraction de else if) permet de définir des
conditions alternatives.

L’instruction else (sinon) permet de programmer une exécution


alternative lorsque la condition suivant if n’est pas réalisée.

18
Les structures conditionnelles

19
Les structures conditionnelles

Il est également possible de gérer plusieurs conditions:

20
Les structures conditionnelles

Le décalage avec des tabulations est primordial en Python.


Les deux algorithmes suivants sont différents. Testez-les !

21
Les structures conditionnelles

1. Ecrire un programme qui à partir d’une note affiche la mention correspondante ?


2. Saisissez un flottant. S’il est positif ou nul, affichez sa racine, sinon affichez un
message d’erreur.
3. On désire sécuriser une enceinte pressurisée. On se fixe une pression seuil et un
volume seuil : pSeuil = 2.3, vSeuil = 7.41. On demande de saisir la pression et le
volume courant de l’enceinte et d’écrire un script qui simule le comportement
suivant :
– si le volume et la pression sont supérieurs aux seuils : arrêt immédiat ;
– si seule la pression est supérieure à la pression seuil : demander d’augmenter le volume de l’enceinte ;
– si seul le volume est supérieur au volume seuil : demander de diminuer le volume de l’enceinte ;
– sinon déclarer que « tout va bien ». Ce comportement sera implémenté par une alternative multiple.

22
Les structures conditionnelles

4. Ecrire un programme qui permet de saisir un nombre puis déterminer s’il appartient à
un intervalle donné, sachant que les extrémités de l’intervalle sont fixées par
l’utilisateur
5. Ecrire un programme qui demande deux nombres à l’utilisateur et l’informe ensuite si
leur produit est négatif ou positif. Attention toutefois : on ne doit pas calculer le produit
des deux nombres.
6. Ecrire un programme qui permet de calculer le montant des heures supplémentaires
d’un employé, sachant le prix unitaire d’une heure selon le barème suivant :
— Les 39 premières heures sans supplément:
— De la 40ième à la 44ième heure sont majorées de 50%,
— De la 45ième à la 49ième heure sont majorées de 75%,
— De la 50ième heure ou plus, sont majorées de 100%
23
Les nombres aléatoires

Python n’a pas d’instruction naturelle pour créer un nombre aléatoire.

La bibliothèque random

Application:
1. Programme qui affiche Pile/Face au hasard.
2. Programme qui affiche
Pierre/Feuille/Ciseaux au hasard.

24
Les listes

Pour manipuler les données des listes, nous devons faire appel à
leurs coordonnées:

Il est possible de modifier ces données de la même manière:

25
Les listes

Pour repérer des éléments présents dans une liste incluse dans une
liste, il faut faire comme suit:

26
Les listes

Il est également possible d’utiliser des tranches qui nous permet de


manipuler des bouts de listes:

27
Les listes

Les opérations possibles sur les listes sont les additions (+) et les multiplications
(*) par des nombres entiers.

28
Les listes

L’instruction Range permet de créer des listes d’entiers. Elle


fonctionne sur le modèle:
range([début,] fin [, pas])
Les arguments entre crochets sont optionnels.

29
Les listes

Il y a plusieurs actions qui peuvent être utilisées sur les listes:

30
Les listes

31
Application

1. Définir la liste : liste =[17, 38, 10, 25, 72], puis effectuez les actions suivantes :
– triez et affichez la liste ;
– ajoutez l’élément 12 à la liste et affichez la liste;
– renversez et affichez la liste ;
– affichez l’indice de l’élément 17 (en utilisant liste.index);
– enlevez l’élément 38 et affichez la liste ;
– affichez la sous-liste du 2e au 3e élément ;
– affichez la sous-liste du début au 2e élément ;
– affichez la sous-liste du 3eélément à la fin de la liste ;
– affichez la sous-liste complète de la liste ;
-affichez le dernier élément en utilisant un indiçage négatif.

32
Application

2. Définir deux ensembles (sets) : X = {a,b,c,d} et Y = {s,b,d}, puis affichez les


résultats suivants :
– les ensembles initiaux ;
– le test d’appartenance de l’élément 'c' à X ;
– le test d’appartenance de l’élément 'a' à Y ;
– les ensembles X −Y et Y − X ;
– l’ensemble X ∪Y (union « | ») ;
– l’ensemble X ∩Y (intersection « & »).

33
Les tuples

 Un tuple se définit comme une liste mais avec des parenthèses.

 Une fois créé, un tuple ne peut plus être modifié.

 Pour créer un tuple , vous pouvez utiliser la syntaxe suivante:

34
Les dictionnaires

• En premier, on définit un dictionnaire


vide avec les accolades {}.
• Ensuite, on remplit le dictionnaire avec
différentes clés.
• Vous pouvez mettre autant de clés que
vous voulez dans un dictionnaire
• Un dictionnaire est affiché sans ordre particulier.
• Un dictionnaire est affiché sans ordre particulier.

35
Les dictionnaires

• On peut aussi initialiser toutes les clés et les


valeurs d'un dictionnaire en une seule opération :

• Mais rien ne nous empêche d'ajouter une clé et une valeur


supplémentaire :

• Pour récupérer la valeur associée à une clé donnée, il suffit d'utiliser la


syntaxe suivante :
Les dictionnaires

• Méthodes .keys() et .values(): renvoient, comme vous pouvez vous en


doutez, les clés et les valeurs d'un dictionnaire :
Les boucles « while »

Les boucles sont très importantes en programmation. Elles


permettent de répéter des instruction un nombre de fois défini à
l’avance.

Une boucle while répète les instruction tant que la condition d’entrée est vérifiée (True).
Les instructions présentes dans la boucle doivent être décalées d’un alinéa de plus que
l’initialisation de la boucle.
Attention, ce genre de boucle peut entrainer des boucles infinies!

38
Les boucles « While »

Initialisation de la variable

Condition de sortie de la boucle. La boucle va


se répéter tant que cette condition est vérifiée

La variable i va s’incrémenter à chaque boucle.

Cette instruction n’est pas dans la boucle. Le résultat affiché dans la console
sera la valeur de la variable i à la fin du programme (i = 10 000)
39
Les boucles « For »
La boucle for va parcourir une liste et renvoyer toutes les valeurs
de la liste dans une variable définie dans la boucle.
Afficher les nombres de 1 à 10

Fonction range()

40
Les boucles « For »

La boucle for va parcourir une liste et renvoyer toutes les valeurs


de la liste dans une variable définie dans la boucle.

La variable i va prendre alternativement


toutes les valeurs de la liste.

41
Les boucles « For »

On peut utiliser l’outil range avec la boucle for. Cela permet de


parcourir une liste d’entier définie

*La fonction range permet de déterminer à l’avance


combien de fois on veut répéter les instructions (dans
cet exemple, les instructions seront répétées 10 fois)

42
Les boucles « For »

1. Ecrire un programme qui permet de calculer le produit de deux entiers en


utilisant des additions successives.

2. Ecrire programme permettant de lire un nombre entier N puis calcule son


factoriel. — N !=1*2*3*....*(n-1)*N — 0 !=1

3. Utilisez une liste en compréhension pour ajouter 3 à chaque élément d’une


liste d’entiers de 0 à 5, mais seulement si l’élément est supérieur ou égal à
2.

43
Python : Les Fonctions

44
Les fonctions
Syntaxe:

L’appel d’une fonction

45
Les fonctions
Le but d’une fonction est de pouvoir être appelée à différents endroit :

46
Les fonctions
Une fonction peut également utiliser des arguments (données d’entrée) et
renvoyer des résultats:

47
Les fonctions
Il est possible de donner des valeurs aux arguments.

48
Application

1. Écrire une procédure table avec quatre paramètres : base, debut, fin et inc. Cette
procédure doit afficher la table des base, de debut à fin, de inc en inc. Tester la
procédure par un appel dans le programme principal.

49
Application
2. pair_impair.py : écrire 2 fonctions :
 pair (nbre), qui renvoie True, si le nombre est Pair
 impair (nbre), qui renvoie True, si le nombre est Impair Le nombres sera demandé à
l’utilisateur. Le résultat attendu est : "La fonction Pair retourne True pour la valeur 2"
3. mini_maxi.py : écrire 2 fonctions :
 mini (a,b) qui renvoie le minimum entre a et b
 maxi (a,b) qui renvoie le maximum entre a et b
Les 2 nombres a et b seront demandés à l’utilisateur.
4. Fonction renvoyant plusieurs valeurs sous forme d'un tuple.
Écrire une fonction minMaxMoy() qui reçoit une liste d'entiers et qui renvoie le
minimum, le maximum et la moyenne de cette liste. Le programme principal appellera
cette fonction avec la liste : [10, 18, 14, 20, 12, 16].
50
Application

5. La suite de Fibonacci est définie comme suit :

 Ecrire un programme récursif calculant 𝐹𝑖𝑏 (n)


6. Ecrire un programme « calculatrice »

51
Python : Les modules

52
Les modules

 Le code Python d'un module peut accéder à du code d'un autre


module par un mécanisme qui consiste à importer cet autre
module.
 L'instruction import est la façon la plus courante faire appel à ce
système d'importation

53
Les modules de python
Voici une liste de modules de base que vous serez amené un jour ou l'autre à utiliser.
 random : fonctions permettant de travailler avec des valeurs aléatoires
 math : toutes les fonctions utiles pour les opérations mathématiques
(cosinus,sinus,exp,etc.)
 time : fonctions permettant de travailler avec le temps

54
Le module math
math.ceil(x) : le plus petit entier plus grand ou égal à x.
math.fabs(x) : Retourne la valeur absolue de x
math.factorial(x) : Retourne la factorielle de x.
math.floor(x) : le plus grand entier plus petit ou égal à x.
math.sin(x)
math.cos(x)
math.tan(x)
Gestion du temps
 Nous allons voir dans un premier temps comment afficher ce fameux nombre
de secondes écoulées depuis le 1er janvier 1970 à 00:00:00. On utilise la
fonction time de module time
»import time
»time.time()
 afficher l’heure actuel
»time.localtime()
»time.ctime ()
 la mise en veille
»time.sleep()

56
Importer des fonctions d'autres fichiers
puissance.py

fiche.py : on importe une fiche2.py : on importe fiche3.py : on importe toutes les


seule fonction explicitement les deux fonctions fonctions

57
Importer des fonctions d'autres fichiers

on importe le module on importe le module et on lui donne un alias

58
Exécution d’un module en tant que script
Python : Les exceptions

60
Les exceptions

On remarque tout d'abord que python est certes sevère mais juste ; il
nous dit pourquoi il n'est pas content: ZeroDivisionError
Les exceptions

On remarque que python nous affiche une erreur mais


elle est différente de celle provoquée par la division par 0.
Ici l'erreur est TypeError
Python : Découvrez la
Programmation
Orientée Objet côté
développeur

63
La programmation orienté objet

 Une classe : un plan de conception, (ex : humain)


 Objet : une instance de classe , (ex : Julien)
 Attribut : une variable de classe, propriété (ex : prenom, age , sexe…)
 Propriété : une maniéré de manipuler les attributs (ex : lecture seul, accés
non autorisé en dehors de la classe……)
 Méthode : Fonction d’une classe, (ex : manger(nourriture, quantité),
marcher, parler , dormir)

64
La programmation orienté objet

 Pour définir une nouvelle classe, on utilise le


mot-clé class:
Exemple:

65
Exercice: La classe CompteBancaire
1. Écrire un programme python qui permet de définir une classe
CompteBancaire(), qui permette d’instancier des objets tels que compte1,
compte2, etc. Le constructeur de cette classe initialisera deux attributs
d’instance nom et solde, avec les valeurs par défaut ’Dupont’ et 1000.
Trois autres méthodes seront définies :
•depot(somme) permettra d’ajouter une certaine somme au solde ;
•retrait(somme) permettra de retirer une certaine somme du solde ;
•affiche() permettra d’afficher le nom du titulaire et le solde de son compte.

66
Exercice:
2. Définir une classe Rectangle avec un constructeur donnant des valeurs
(longueur et largeur) par défaut et un attribut nom = "rectangle", une méthode
d’affichage et une méthode surface renvoyant la surface d’une instance.
Définir une classe Carre héritant de Rectangle et qui surcharge l’attribut
d’instance : nom = "carré". Dans le programme principal, instanciez un
Rectangle et un Carre et affichez-les..

67
Python : Les interfaces
graphiques

68
Créer des graphiques scientifiques

Matplotlib est une bibliothèque python qui dessine


des graphiques
Créer des graphiques scientifiques
Il est possible d'associer une valeur x à une valeur y comme ceci:

70
Créer des graphiques scientifiques

La courbe est juste mais je ne souhaite délimiter moi même les limites du graphique.
Il est possible d'encadrer son graphique à l'aide de la méthode axis(xmin, xmax,
ymin, ymax).

71
Créer des graphiques scientifiques

Il est possible de superposer les courbes:


Courbe1
Courbe2
Courbe3
Créer des graphiques scientifiques

Plusieurs graphiques avec subplot


Interfaces graphiques et Python

 Les widgets.

 Les labels.

 Les zones de saisie.

 Les boutons.

74
Interfaces graphiques et Python

 Elles permettent de rendre les programmes plus conviviaux.


 Une interface graphique est constituée de composants (ou
encore widgets) qui sont la source d’évènements.
 Le déroulement d’un programme avec interface graphique
est différent des programmes vus jusqu’à présent.
 Composants ou widgets : ce sont des boutons, zones de
saisie, zones de dessin, labels, listes déroulantes, boîtes à
cocher, bouton radio …
 Un évènement : clic sur un bouton de la souris, saisie d’un
texte, toucher Entrée, flèches du clavier …

75
Interfaces graphiques et Python

Plusieurs librairies (modules) en python sont disponibles pour réaliser des


interfaces graphiques :
• tkinter (python version 3) tkinter (version 2)
• wxPython
o Plus complexe et complet que tkinter
• pyQT, pyGTK
• Pygame

76
Les widgets
A chaque widget correspond une classe
 Instanciation de l’objet avec une méthode constructeur (commence par
une majuscule et porte le nom de la classe du widget, plusieurs existent
par widget)
 Ajout de l’objet à l’interface (la fenêtre racine) avec la méthode pack
 Des méthodes communes à tous les widgets : pack(),
grid(),place(),config(), ...

77
La fenêtre
Utilisation de la librairie graphique Tk pour les GUI:

From tkinter import * #importer la librairie tkinter


fen=Tk() # initialise la fenêtre principale.
Ajout des différents widgets
fen.mainloop() #Affiche la fenêtre pricipale

78
Widgets
L’interface graphique construite à partir des widgets composants tel que :
• button : bouton poussoir • scrollbar : barre de défilement
• checkbutton : case à cocher • panedwindow : panneau coulissant
• radiobutton : bouton radio • text : conteneur hypertexte évolué
• label :étiquette • canvas : conteneur d'objets graphiques 2D évolué
• Entry : champ de texte en entrée • tk_chooseColor : sélecteur de couleur
• listbox : liste défilante • tk_chooseDirectory : sélecteur de répertoire
• tk_optionMenu : liste • tk_dialog : boîte de dialogue modale
• menu : menu déroulant • tk_getOpenFile : sélecteur de fichier
• menubutton : menu déroulant à partir d'un • tk_messageBox : boîte de message
bouton • tk_popup : menu contextuel
• scale : curseur horizontal et vertical
• labelframe : cadre avec titre

79
Widgets Button
Widgets Button est utilisé pour insérer des boutons dans une interface
graphique. Un bouton est relié à une action !

La syntaxe:
w = Button ( Fenêtre, option=value, ... )
Exemple:

from tkinter import*


fen1=Tk()
bou1=Button(fen1, text='Quitter', command=fen1.destroy)
bou1.pack() #Cette méthode agit sur la disposition géométrique
fen1.mainloop()
80
Les labels
Ils sont utilisés pour afficher des textes et des images.
Quelques propriétés pouvant être initialisées à l’appel du constructeur
Label (…) .

Exemple :
from tkinter import *
fen=Tk()
obj=Label(text= "zone de txt",bg= "blue",fg="yellow",bd=3)
obj.pack()
obj2=Label(bitmap= "question",bg= "red",fg= "grey",bd=5)
obj2.pack()
fen.mainloop()
81
Les zones de saisie : classe Entry
Elles sont utilisées pour la saisie de textes par l’utilisateur.

obj=Label(text="zone de saisie:")
obj.pack()
obj2=Entry(bg="white",fg="blue",width=55)
ch=obj2.get() #permet d’obtenir le contenu de la zone de saisie,
renvoie une chaîne.
obj2.pack()
fen.mainloop()

82
Méthode grid( )
Grid(): considère la fenêtre comme un tableau, avec des lignes (row) et des colonnes (column).

from tkinter import*


fen1=Tk()
txt1=Label(fen1, text='Premier champ : ')
txt2=Label(fen1, text='Second : ')
entr1=Entry(fen1, bg='white')
entr2=Entry(fen1, bg='white')
txt1.grid(row=0)
txt2.grid(row=1)
entr1.grid(row=0, column=1)
entr2.grid(row=1, column=1)
fen1.mainloop()

83
Les cases à cocher

 Les cases à cocher sont définies dans la classe Checkbutton.


 Pour surveiller l'état d'une case à cocher (qui peut être soit active soit inactive), on préférera créer
une variable de type.
 Exemple:
from tkinter import *
import tkinter
top = tkinter.Tk()
CheckVar1 = IntVar() # Pour surveiller l'état d'une case à cocher
CheckVar2 = IntVar()
C1 = Checkbutton(top, text = "Music", variable = CheckVar1, onvalue = 1, offvalue = 0, height=5, width = 20)
C2 = Checkbutton(top, text = "Video", variable = CheckVar2, onvalue = 1, offvalue = 0, height=5, width = 20)
C1.pack()
C2.pack()
top.mainloop()

84
Les boutons radio

Les boutons radio sont similaires aux cases à cocher, à ceci près qu'on les assemble par
groupes,
bouton_radio = gtk.RadioButton(group=None, label=None)
Exemple
import tkinter as tk
app = tk.Tk()
variable = tk.IntVar()
tk.Radiobutton(text='foo', variable=variable,value=1).pack()
tk.Radiobutton(text='bar', variable=variable,value=2).pack()
variable.get()
app.mainloop()

85
Les listes déroulantes
Listbox: Ce widget permet de construire une liste dans laquelle on peut sélectionner un ou
plusieurs éléments
Syntaxe: w = Listbox ( fenêtre, option, ... )
from tkinter import *
import tkinter
top = Tk()
Lb1 = Listbox(top)
Lb1.insert(1, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(4, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")
Lb1.pack() top.mainloop()

86
Intervalle de sélection
La finalité du widget de type « Scale » , est de permettre à l’utilisateur de choisir un entier ou un
flottant situé à l’intérieur d’un intervalle précis.
from tkinter import *
master = Tk()
w = Scale(master, from_=0, to=100)
w.pack()
w = Scale(master, from_=0, to=200, orient=HORIZONTAL)
w.pack()
mainloop()

87
Une fenêtre primaire
Une fenêtre primaire “ toplevel” est une fenêtre qui possède une existence
indépendante pour le gestionnaire de fenêtre du système d’exploitation
Syntaxe : w = Toplevel ( option, ... )
Exemple:
from tkinter import *
top = Toplevel()
top.title("About this application...")
mainloop()

88
Saisies/sélections rotatives
Le widget Spinbox sert à donner un moyen à l’utilisateur de
sélectionner une valeur parmi un ensemble de valeurs données ou
d’en proposer une autre..Syntaxe: Spinbox( master, option, ... )
Exemple:
from tkinter import *
master = Tk()
w = Spinbox(master, from_=0, to=10)
w.pack()
mainloop()

89
Interagir avec les fichiers

90
Fichier
Le mode est donné sous la forme d'une chaîne de caractères. Voici les
principaux modes :
Modes d’ouverture:
‘r’ : ouverture en lecture (Read).
‘w’ : ouverture en écriture (Write). Le contenu du fichier
est écrasé. Si le fichier n'existe pas, il est créé.
‘a’ : ouverture en écriture en mode ajout (Append). On
écrit à la fin du fichier
‘x’ : lecture et écriture
‘r+’: lecture/ écriture dans un fichier
Méthode de lecture : read, readline,readlines…..
Méthode d’écriture : write
91
Fichier : read
Voiture.txt

92
Fichier : readline

93
Fichier : readlines

94
Fichier : write()

Création et écriture d’un fichier texte

open() avec l’option « w » permet d’ouvrir un


fichier en écriture,

95
Fichier : writelines()

writelines() permet d’écrire directement le contenu d’une liste

96
Fichier : ajout ’a’’

• open() avec l’option « a » permet d’ouvrir un fichier en mode ajout

97
Fichier : Exercice

1. Créer une fonction NbrLigne qui a pour paramètre le nom d'un


fichier (texte) et qui renvoie le nombre de lignes de ce fichier.

98
Merci pour votre
attention

99

Vous aimerez peut-être aussi