Initiation à Python: 3
èmeSéance Université Mohammed V de Rabat
Faculté des Sciences de Rabat Pr Bouabid El Ouahidi
ouahidi@fsr.ac.ma
Les entrées/sorties en Python
Deux méthodes à connaître: input() et print() pour commencer des travaux pratiques.
On reviendra plus tard pour détailler ces deux methodes
❑ input() permet de saisir des données.
Exemple:
x= input(‘Donner un entier ‘)
6 (entrée par l’utilisateur à partir du clavier) x=int(x)
Dans la variable x il y aura la valeur entière 6
❑ print() permet un affichage à l’écran.
Exemple
❖ print(‘Bonjour à tous ‘) , Le message Bonjour à tous sera affiché à l’écran
❖ si x=7, print(x), affichera 7 à l’écran.
Attention le retour de input est toujours une chaîne de caractères.
x=input(‘Donner une chaine ‘) Que vaut x et quel est son type?
x est ^de type chaîne de caractère même si vous saisissez par exemple 123.
Comment faire pour saisir un entier (ou un réel) alors?:
x= input(‘donner un entier) 123
Dans x il y aura la chaine ‘123’
x=int(x),
On aura dans x le nombre entier 123. la fonction int(‘123’) retourne l’entier 123 y=input(‘Donner un float (réel)’)
7.8
Dans y il y aura la chaine ‘7.8’
y=float(y)
Dans y il y aura le nombre réel 7.8. La fonction float (‘7.8’) retourne le réel 7.8
Le type retourné par input()
Définition
Une séquence de n éléments est un ensemble d’éléments indexés de 0 à n. Ce type désigne les types: str, list, tuple
Il y a des ressemblances et des différences entre ces trois types
❑ Le type chaine de caractères: str Défintion
Une chaine de caractère est suite de caractère délimitées par ‘’ ‘’ ou par ‘ ’ ou par ‘’ ‘’ ‘’ ‘’ ‘’ ‘’
Exemples:
❑ x=“chimie”
❑ y=‘informatique’
❑ z=“”” 12 “””
❑ t=‘*48ab#’
x, y, z,t sont des chaînes de caractères.
Le type séquence
❑ Type liste: list Définition:
Ce type permet de définir une liste d’objets hétérogènes. On utilise les [ ].
Exemples:
❑ L=[ 2,6,8, 9]
❑ T=[‘a’, 6, ‘chimie’, ‘**’]
❑ M= [9,10,’a’,’b’]
L, T et M sont des listes.
❑ Le type uplet: tuple Definition
Ce type permet de définir des uplets d’objets. On utilise: ( ) Exemples:
❑ x=(5,6)
❑ y=(7,8,10)
❑ z=(‘a’, ’b’, 5, 6, 10, ‘*’,’#”) x, y, z sont de type tuple.
Les opérations/méthodes
Il existe plusieurs méthodes/opérations communes aux trois types: str, list, tuple
Exemples d’opérations communes
❑ len(), x=[1,2,3,1], y=‘1123 ’, z=(1,1,2,3) on peut appliquer len(x), len(y), len(z)
❑ x.count(), sum(x), max(x), min(x), x.index(), on peut remplacer x par y ou z.
❑ Autres voir la documentation
Le type séquence est manipulé comme un tableau. L’accès par indice.
Exemple: Liste
❑ L=[5, 9, 10,]
L[0] vaut 5 L[1] vaut 9 L[2] vaut 10.
Exemple: Chaine de caractères s=“rabat”
s[0] vaut ‘r’, s[1] vaut ‘a’, s[2] vaut ‘b’, s[4] vaut ‘a’ et s[5] vaut ‘t’
Exemple: tuple x=(6,8,9)
x[0] vaut 6, x[1] vaut 8 et s[2] vaut 9.
A retenir: si x est de type sequence, x[i] donne le (i+1) ième élément.
L’accès à un élément
Indice négatif
L’accès à un élément peut se faire par un indice négatif.
5 7 18 1 15
0 1 2 3 4
-5 -4 -3 -2 -1
Indices positifs Contenus
Indices négatifs
On peut accéder aux éléments par indice négatif ou positif.
Exemple:
Si ce tableau est une liste L=[5,7,18,1,15], alors
L[0] =L[-5] =5, L[2]=L[-4]=7, ……, L[4]=L[-1]=15.
Le slicing
Plusieurs manières d’utilisation du slice: Soit L=[9, 17, 8, 16, 20, 30,90].
❑ L[i:j] extrait les éléments d’indice I à indice j-1.
Exemple: L[1,4] donne [17, 8,16]
❑ L[i:] exitrait les éléments à partir d’indice I jusqu’à la fin Exemple: L[2:] donne la liste [8,16,20,30,90]
❑ L[:j] extrait les éléments du début jusqu’au élément d’indice j-1 Exemple: L[:4] donne la liste [9,17,8]
❑ L[i:j:k] extrait les éléments de I à j par pas de k.
Exemple: L[1,6,2] donne la liste [17,16,30]
Slicing permet d’extraire des éléments dans une liste, une châine de caractères ou un tuple.
Applications
Slice sur les listes:
L=[7, 1, 3, 8, 9, 11, 13, 17, 18]
Tester L[1:7:2]?, L[1:7:3]?, L[-8:-2:1]? L[-1::-1]?
Que remarquez vous avec L[-1::-1]
Slice sur chaîne de caractères:
S = ‘Rabat Informatique Maroc’
Tester S[0:5]? S[0:] , S[:5], S[-1::-1]?, S[2,8,2]?
Slice sur les tuples:
T=(4,6,7,5,8,19,15,20,23,88, 92,10)
Tester: T[1:8]? T[1:8:3]?, T[:3]? T[3:]?
Tester à la main puis sur machine.