Chapitre 3

Transcription

Chapitre 3
Lycée Brizeux – 2015/2016
T YPES ET VARIABLES
Mathématiques – PCSI B
C HAPITRE 3
T YPES ET VARIABLES
P REMIER CONTACT AVEC P YTHON
. Un programme est la traduction d’un algorithme dans un langage « compréhensible » par une
machine.
. Notre langage de programmation sera Python.
. Dans l’immédiat, il s’agit donc de se familiariser avec Python, et les principaux objets qui nous
permettront de construire des programmes.
1 Lancement de Python
Ouvrez Spyder, qui est l’environnement de développement dont nous allons nous servir pendant
l’année. Normalement, à l’ouverture de Spyder, vous avez quelque chose qui ressemble à ça :
La partie gauche est l’éditeur de texte : on peut y charger des fichiers (d’extension .py, par exemple), les
manipuler et les sauvegarder.
La partie en haut à droite regroupe plusieurs onglets « Explorateur de. . . ».
Enfin, la partie en bas à droite est la console, et c’est elle qui nous intéresse pour le moment.
La série de >>> est une invitation à saisir des commandes : il suffit de saisir à la suite une instruction, puis
d’appuyer sur la touche « Entrée » du clavier pour exécuter cette instruction.
Pour chacune des instructions suivantes, prédire le résultat affiché par la console, puis taper et exécuter l’instruction pour vérifier. À réaliser dans l’ordre indiqué.
Instruction
Prédiction
Résultat affiché – Commentaires
2-8
3.1 * 5.4
3 ** 4
8/0
1
Lycée Brizeux – 2015/2016
T YPES ET VARIABLES
Mathématiques – PCSI B
56+3
56.+3
'56'+'3'
'56.' + '3'
Remarque. L’écriture scientifique d’un nombre flottant par Python mérite une petite traduction : par
exemple, le nombre 6, 022 × 1023 se lit 6.022e23.
2 Variables
Le nom des variables
Il est assez libre, mais doit respecter quelques règles :
— le nom est une séquence de chiffres ou lettres non accentués et sans caractères spéciaux (sauf le
underscore), qui commence toujours par une lettre.
— la casse est significative ([ie distinction majuscule, minuscules)
— les « mots réservés » du langage ne peuvent pas être utilisés (and, def, if, else, return...Il y en a une
trentaine)
Bon usage : Les noms de variables sont de préférence assez courts, mais aussi explicites que possible, de
manière à exprimer clairement ce que la variable est censée contenir.
2.1 Affectation
x étant une variable, l’affectation de la valeur 3 à la variable x se code en Python : x=3.
Cette instruction ne doit pas être confondue avec la condition (booléenne) x==3.
Instruction
Prédiction
Résultat affiché – Commentaires
x = 5
x
4-2*x
x=8
4-2*x
y = x-2
y
(x,y)=(1,2)
x
y
x=y
2
Lycée Brizeux – 2015/2016
T YPES ET VARIABLES
Mathématiques – PCSI B
y=x
x
y
(x,y)=(y,x)
x
y
x+=3
x
x*=2
x
3 Types de données
L’essentiel du travail effectué par un ordinateur consiste à manipuler des données. Le type caractérise la nature de l’objet.
Instructions permettant d’accéder aux propriétés d’une donnée
type(...) permet d’obtenir le type d’une donnée ;
dir(...) permet d’obtenir les attributs d’une donnée (ses caractéristiques) et les fonctions que l’on
peut utiliser avec celle-ci ;
id(...) permet d’obtenir d’obtenir l’adresse mémoire utilisée pour cette donnée ;
3.1 Les nombres
Les nombres sont définis en deux types : les entiers (type int pour « integer ») et les flottants (type
float).
Instruction
Prédiction
Résultat affiché – Commentaires
type(56)
type(56.)
17//5
17%5
2**3
3./2
3.//2
3
Lycée Brizeux – 2015/2016
T YPES ET VARIABLES
Mathématiques – PCSI B
3//1.1
2**3
2**52
10**-323
10**-324
0.1*3
Remarque.
◦ L’écriture scientifique d’un nombre flottant par Python mérite une petite traduction : par exemple, le nombre 6, 022 × 1023 se lit 6.022e23.
◦ Les opérations faisant intervenir à la fois des données de type int et des données de type float
sont envisageables : les entiers sont alors considérés comme des flottants.
◦ L’instruction from math import* permet d’utiliser les fonctions mathématiques usuelles : exp,
log (ln), sqrt (p), cos, sin, abs (valeur absolue). On dispose alors aussi de pi (π). Le symbole
* signifie que toutes les nouvelles commandes issues du module importé sont désormais accessibles.
Instruction
Résultat affiché – Commentaires
pi
from math import*
pi
sin(pi)
3.2 Les booléens
Les booléens peuvent prendre que deux valeurs : True (vrai) ou False (faux). Ils permettent de représenter des résultats d’expressions logiques qui ne peuvent prendre que ces deux valeurs (opérateurs de
comparaison par exemple). En Python, leur type est noté bool.
Instruction
Prédiction
Résultat affiché – Commentaires
5>10
5<10
1==1.0
1!=1.0
2<=2
type(5>3)
4
Lycée Brizeux – 2015/2016
T YPES ET VARIABLES
Mathématiques – PCSI B
a=6
a is 6
Syntaxe des opérations sur les booléens :
— non(...) s’écrit : not(...)
— ... et ... s’écrit : ... and ...
— ... ou ... s’écrit : ... or ...
3.3 Les chaînes de caractères
Les chaînes de caractères sont définies par le type str pour « string ». Elles se présentent sous forme
de textes délimités par edes guillemets, ou des apostrophes, voire des triplets de guillemets.
Instruction
Prédiction
Résultat affiché – Commentaires
type('abc')
type("abc")
type("""abc""")
type('''abc''')
s='brizeux'
len(s)
s[0]
s[1]
s.upper()
'Lycée'+s
3.4 Conversions
int() : convertit une chaîne de caractères contenant un entier en l’entier correspondant ; convertit
un flottant en un entier en le tronquant (Attention, ce n’est pas un arrondi à l’entier le plus proche :
int(5.8) renvoie 5) ; convertit un booléen en un entier (1 pour True et 0 pour False)
float() : convertit une chaîne de caractères contenant un flottant en le flottant correspondant ; convertit un entier en un flottant convertit un booléen en un flottant (1.0 pour True et 0.0 pour False)
str() : convertit un entier, un flottant, un booléen en la chaîne de caractères correspondante.
Instruction
Prédiction
Résultat affiché – Commentaires
float(56)
int('56')
5
Lycée Brizeux – 2015/2016
T YPES ET VARIABLES
Mathématiques – PCSI B
int(56.7)
int(True)
int(False)
str(325)
str(3.25)
str(True)
Remarque. Il existe de nombreux autres types. On les découvrira au cours de l’année.
Le type NoneType ne contient que la valeur None, qui signifie « rien ».
Exemple d’utilisation : renvoyer les solutions d’une équation n’ayant pas de solution (par exemple :
x 2 + 1 = 0 dans R.)
4 Exercices
Exercice 1
Quelle est la différence entre ces quatre programmes ?
x=6
y=9
x=2*x+y
y=x-y
x=6
y=9
y=x-y
x=2*x+y
x=6
y=9
x,y=2*x+y,x-y
x=6
y=9
y,x=x-y,2*x+y
Exercice 2
Comparer ces deux programmes avec Python. Que peut-on en conclure ?
1e25
1e25
1e25
1e25
1e25
+
+
+
+
-
1000
1000
1000
1000
1e25
+
1e25
1e25 == 0
1e25 == 1000
1000
10**25 + 1000
10**25 + 1000 - 10**25
10**25 + 1000 - 10**25 == 0
Exercice 3
Prévoir le résultat de l’opération suivante, puis vérifier avec Python.
((2 < 1) or (not(2 < 2))) and (not( (2 >= 2) or (-1 > 3)))
Exercice 4
Traduire en Python les expressions booléennes suivantes :
1. L’entier n est divisible par 5
2. Les entiers m et n sont tels que l’un est multiple de l’autre
3. Les entiers m et n sont de même signe
4. Les trois entiers m, n et p sont de même signe strict (puis large)
5. n est le plus petit multiple de 7 supérieur à 10100
6. Les trois entiers m, n et p sont distincts deux à deux
6