1TSI 2016-2017.Chapitre B - TD 2 - Les nombres et Python. Lycée Chaptal.
Pour la programmation en Python, nous utiliserons l’environnement Spyder :
1. MANIPULER DES NOMBRES
En première approche, le langage Python peut être vu comme un ensemble de commandes simples à
utiliser. En ce sens, il peut jouer le rôle d’une calculatrice scientifique classique. Pour s’en convaincre il
suffit de lancer la séquence triviale suivante :
In [1]: a=1
In [2]: b=2
In [3]: c=a+b
Pour avoir le résultat de l’opération, on prolongera simplement par :
In [4] : pr int (c)
3
ou encore plus simplement par :
In [5]: c
Out [5]: 3
1.1. Types numériques
En mathématiques, les nombres appartiennent à des ensembles tels que N,Z,Q,Rou C. En Py-
thon (comme dans beaucoup de langages informatiques) les nombres seront du type :
int (integer) correspond à un entier (de Nou Z) stocké sur une partie limitée de la mémoire de
l’ordinateur. Il ne peut donc pas être aussi petit (négatif) ou aussi grand que l’on veut. Pour une
machine (dépend du microprocesseur et du système d’exploitation) de 32 bits (4 octets), un
entier sera compris entre 231 et 231 1 (soit entre 2 147 483 648 et 2 147 483 647). Pour une
machine de 64 bits, un entier sera compris entre 263 et 263 1
-1-
1TSI 2016-2017.Chapitre B - TD 2 - Les nombres et Python. Lycée Chaptal.
long (long integer) le type entier long est équivalent au type entier sauf qu’il n’est pas limité à
nombre d’octets (ou de bits prédéterminé). Á l’extrême, un nombre peut prendre la quasi tota-
lité de la mémoire de l’ordinateur. Il est clair alors que ce nombre peut être considérable.
float le type flottant permet de représenter des nombres à virgule. Il est codé en mémoire sur 32
bits (simple précision) ou sur 64 bits (double précision). Il est représenté sous la forme
nombre =(1)S1mantisse×2exposant
Sur 64 bits la mantisse est écrite avec 52 chiffres binaires (51 plus le 1 implicite), et l’exposant
avec 11 chiffres ; il y a 1 bit de signe. La précision maximale est donc de 252, soit environ 2 ×
1016. Des valeurs spéciales permettent de représenter −∞,+∞ et Nan,not a number, souvent
issu d’une forme indéterminée.
complex le type complexe correspond à une structure naturellement composée de deux flottants
(partie réelle et imaginaire) sur 2 x 8 = 16 octets.
bool le type booléen correspond à l’algèbre booléenne et ne prend que deux valeurs : True/False. Il
est codé sur un bit.
En pratique, pour des applications basiques, le typage est la plupart du temps transparent pour
l’utilisateur car Python interprète dynamiquement le type des variables. Par exemple si on attribue
la valeur 3à la variable a, on ne précise pas si aest une variable entière ou réelle; Python interprète
le type de variable en fonction des opérations demandées :
In [1]: a=3
In [2]: a+2
Out [2]:5
In [3]: a/2
Out [3]: 1.5
Même si les entiers sont codés sur 64 bits, on peut créer un nombre entier énorme qui sera de type
long (remarque :** est l’opérateur de mise à la puissance) :
In [1]: c=2** 10000
In [2]: c
La réponse donnée peut aussi être de type booléen :
In [1]: a=3
In [2]: b=2
In [3]: a<b
Out [3]: False
In [4]: a>b
Out [4]: True
In [5]: a==b
Out [5]: False
In [6]: a!=b
Out [6]: True
Pour les booléens (|et & indiquent respectivement "ou" et "et"), on peut lancer la séquence :
In [1]: a= True
In [2]: b= False
In [3]: a|b
Out [3]: True
In [4]: a&b
Out [4]: False
Pour les nombres complexes, on peut tester :
-2-
1TSI 2016-2017.Chapitre B - TD 2 - Les nombres et Python. Lycée Chaptal.
In [1]: a=1.5+3j
In [2]: b=1.5
In [3]: a-b
Out [3]: 3j
In [4]: a*b
Out [4]: ( 2 . 25 +4 . 5j )
In [5]: c=1+1j
In [6]: a*c
Out [6]: (-1.5+4 . 5j )
In [7]: (1+4j ) ** ( 1/(2+3j ) )
Out [7]: (1.6758516946016602-0 . 20706 8891 691 99882 j )
In [8]: a=com pl ex (2 , 3 )
In [9]: a
Out [9]: (2+3 j )
In [10 ] : a . real
Out [10 ] : 2.0
In [11 ] : a . imag
Out [11 ] : 3.0
In [12 ] : a. conjugat e ()
Out [12 ] : (2-3j )
In [13 ] : compl ex . conj ugat e (-1-2j )
Out [13 ] : (-1+2j )
Enfin, il est possible de modifier explicitement le type des variables en utilisant les fonctions de
conversion :
int(a) Conversion de aen type entier
long(a) Conversion aen type entier long
float(a) Conversion aen type flottant
complex(a) Conversion aen type complexe a+0j
complexe(a,b) Conversion de aet de ben type complexe a+bj
Sous Python, il existe la fonction type() qui donne le type d’une variable. Par exemple :
In [1]: a=1
In [2]: type(a)
Out [2]: int
In [3]: a=1.
In [4]: type(a)
Out [4]: float
In [5]: a=1
In [6]: fl oat (a )
Out [6]: 1.0
In [7]: a=3+4j
In [8]: type(a)
Out [8]: complex
1.2. Opérations sur les nombres
Opérateurs arithmétiques : Python ne possède que très peu d’opérations arithmétiques pour ma-
nipuler les nombres. A ce stade, Python principalement se résume à une calculatrice élémentaire :
+Addition
Soustraction
Multiplication
/ Division
∗∗ Puissance
% Reste de la division euclidienne
-3-
1TSI 2016-2017.Chapitre B - TD 2 - Les nombres et Python. Lycée Chaptal.
Considérons l’équation x2+1,4x+0,49 =0 ; calculons le discriminant du trinôme :
a=1
b=1.4
c=0 . 49
D=b** 2-4*a*c
D
Quelle remarque peut-on faire?
Voici une suite d’opérations pour comprendre le rôle de % :
In [1]: 7%5
In [2]: 7%2
In [3]: 2%7
In [4]: 27 %5
In [5]: 30 %26
In [6]: import numpy
In [7]: 55 *n umpy . pi %(2*numpy . pi )
Raccourcis pour les opérateurs arithmétiques : Dans une séquence de code, on peut affecter une
valeur à une variable, effectuer une opération arithmétique sur cette variable et finalement affecter
la nouvelle valeur obtenue à la variable. Par exemple :
a=1
b=1
pr int (a)
2
En Python, il est possible d’écrire l’opération arithmétique de façon plus compacte :
a=1
b=1
a+=b
pr int (a)
2
Ceci est également vrai pour les autres opérateurs arithmétiques :
a+=b a=a+b
a-=b a=a-b
a*=b a=a*b
a/=b a=a/b
a**=b a=a**b
a%=b a=a%b
Quelques fonctions supplémentaires : De base, Python fournit quelques fonctions numériques
autres que les opérations arithmétiques :
abs(a) Valeur absolue de a
max(...) Plus grande valeur d’une suite de nombres
min(...) Plus petite valeur d’une suite de nombres
round(a,n) Arrondi de la variable aau niveau de la nedécimale
-4-
1TSI 2016-2017.Chapitre B - TD 2 - Les nombres et Python. Lycée Chaptal.
Par exemple :
a=-1
abs (a )
1
a=1
b=3.4
c=10
max (a , b ,c )
10
min (a , b ,c )
1
a=3. 14 1592654
ro un d (a , 4 )
3. 1416
ro un d (a , 2 )
3 . 14
ro un d (a , 0 )
3.0
Opérateurs de comparaison : Python peut aussi vérifier si une comparaison entre deux nombres
est vraie ou fausse ce qui renvoie une valeur booléenne. Les opérateurs standards de comparaison
sont :
< Plus petit que
> Plus grand que
<= Plus petit que ou égal à
>= Plus grand que ou égal à
== Égal à
!= Pas égal à
Par exemple :
a=5
b=4. 9999
a<b
False
a>b
True
a==b
False
a!=b
True
2. LISTES ET TUPLES
Listes. Il est souvent utile de collecter plusieurs données sous un même nom, et d’y accéder à travers
un indice numérique (par exemple les températures pour les 31 jours d’un mois donné). Sous Python on
dispose d’une telle structure appelée liste (dans d’autre langages on dira tableau).
Ainsi £1,a,0Bob0¤est une liste contenant trois valeurs : celle de rang 0 !est 1, celle de rang 1 est la
valeur de la variable aet celle de rang 2 est la chaîne de caractère (ou mot) Bob.
La liste vide s’écrit £¤.
On peut affecter une liste à une variable L=£22,35,56,29¤et ainsi récupérer une valeur seule par son
indice. Par exemple :
-5-
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !