TP1 : premiers pas avec Python
1 - Types, variables, tests
1.1.1 - L'interpréteur Python
Si vous installez Python sur votre ordinateur personnel, vérifiez que vous avez bien une version supérieure à 3.2.
Si vous installez Python pour Windows ou MacOS, téléchargez Python directement depuis le site principal du langage
:https://www.python.org/download
Si vous installez Python pour Linux, installez Python avec les gestionnaires de paquets de votre distribution. Dans ce cas,
vérifiez que vous installez bien le paquet Python et le paquet Idle. (Pour Ubuntu : python3 et idle3.)
1.1.2 - Les premières commandes python - les opérateurs
Nous allons maintenant dialoguer avec cet interpréteur Python : tapez les instructions de la colonne de gauche et
écrivez les résultats obtenus (les réponses de l'interpréteur), dans la colonne de droite, en commentant
éventuellement (essayez de prévoir la réponse et, si elle est différente, de comprendre pourquoi la réponse qui
vous paraît logique n'a pas été celle de l'ordinateur).
Tableau 1 : premières commandes python
instruction à taper
20+1
résultat obtenu + commentaire ou explication
20/3
20//3
20%3
5.45*10
2**4
(3+2)*5
3+2*5
"bonjour"
(avec des guillemets)
'bonjour'
(avec des apostrophes et non pas des
guillemets)
"il fait " + "beau"
"il fait " + "beau" + "et chaud "
"bonjour "*5
Astuce : pour éviter d'avoir à retaper toute une ligne, utilisez la flèche “haut” du clavier pour vous positionner sur
cette ligne, puis tapez “Entrée” : la ligne est recopiée après l'invite de commande et vous pouvez la modifier avant
de taper à nouveau “Entrée”. + , * , / , // , % , ** , sont des opérateurs python. Ils permettent de réaliser des
opérations sur des données. 20 , 3 , 5.45 , "bonjour" sont des données.
Chaque donnée possède un certain type ; ici il s'agit : du type entier ou int pour les données 20 et 3 du
type flottant ou float, pour la donnée 5.45 du type chaîne de caractères ou string pour la donnée "bonjour" (il
existe d'autres types de données que nous verrons par la suite).
Certaines instructions ne sont pas acceptées par l'interpréteur python et provoquent l'affichage d'un message
d'erreur. Tapez les instructions suivantes, observez les erreurs obtenues et analysez-les :
Tableau 2 : premiers messages d'erreur
instruction à taper
20/0
erreur observée + explication
[email protected]
"bonjour"/3
"bonjour" + 5
(3+2))*5
(3+2*5
Pour connaître le type d'une donnée, on peut utiliser le mot type : tapez ce qui suit :
Tableau 3 : les types de données
instruction à taper
type(3)
type(1.5)
type(3.0)
type("bonjour")
type("3")
type(3+1.5)
résultat obtenu + commentaire ou explication
Exercice 1 : opérateurs et types de données
Sur quels types de données peut-on utiliser les opérateurs + , * , / , // , % , ** ? Quel est le type du résultat ?
Répondre en complétant ci-dessous. Vous pouvez faire des tests en tapant d'autres instructions dans l'interpréteur
python. (exemple : 3+7.1 est accepté par l'interpréteur python, donc l'opérateur + s'applique à un entier et à un
flottant, et le résultat est de type flottant).
opérateur
+
types de données utilisables
type du résultat
….
Pour les chaînes de caractères, l'opérateur + s'appelle la concaténation (il fusionne bout à bout deux chaînes de
caractères)
1.1.3 - Le transtypage
On peut parfois transformer une donnée d'un certain type, en une donnée d'un autre type. Cela s'appelle
le transtypage (ou cast en anglais).
Tableau 4 : transtypage
donnée de départ
de quel type est la
instruction à taper
type du résultat obtenu et/ou
commentaire
donnée de départ ?
3.0
int(3.0)
3.5
int(3.5)
3
float(3)
4
str(4)
"3"
int("3")
"3.5"
float("3.5")
"3.5"
int("3.5")
"bonjour"
int("bonjour")
Exercice 2 : corriger les instructions
Comment corriger les instructions suivantes pour qu'elles ne provoquent plus d'erreur ?
a) but recherché : on veut obtenir la chaîne de caractères "vous êtes 2 dans ce binôme TP"
instruction : "vous êtes" + 2 + "dans ce binôme TP" instruction corrigée : ...
b) but recherché : on veut afficher "blablablablablablablablablabla" c'est à dire"bla" 10 fois de suite.
instruction : "bla"*10.0instruction corrigée : ...
1.2 - Les variables et l'affectation
1.2.1 - L'affectation
Il peut être pratique de ranger les données dans des contenants, aussi appelés variables, afin de les conserver
dans la mémoire de l'ordinateur pour les utiliser plus tard.
Le rangement d'une donnée (un contenu) dans une variable (un contenant) s'appelle l'affectation. L'affectation se
fait grâce à l'opérateur = qui s'appelle l'opérateur d'affectation.
= est l'opérateur d'affectation
L'affectation se fait en deux temps :
(1)évaluation (c'est à dire calcul) de la partie à droite de l'opérateur d'affectation (selon des règles de priorité de
calcul correspondant au type des données concernées). Le résultat de cette évaluation est la donnée (le contenu)
qui va être rangée dans la variable.
(2)rangement du résultat de cette évaluation dans la partie à gauche de l'opérateur d'affectation. Cette partie à
gauche est la variable (le contenant).
Attention : ne pas confondre l'opérateur d'affectation = avec le symbole d'égalité
mathématique. L'affectation n'est ni une équation mathéma tique, ni une égalité mathématique !
Application : taper les instructions suivantes dans l'ordre indiqué, et compléter le tableau.
Tableau 5: opérateur d'affectation =
Quelle est la donnée (ou est le
résultat de l'évaluation de la
instruction à taper
quelle est la variable ?
partie droite) ? De quel type est
cette donnée (ou ce résultat) ?
age = 20
age = 30
prenom = "Perceval"
taille_m = 1.75
taille_cm = 100*taille_m
age = age + 3
phrase1 ="bonjour "+ prenom
phrase1 = phrase1 + " !"
phrase2 = prenom +" a "
+str(age)+" ans."
Pour afficher le contenu d'une variable dans l'interpréteur python, il suffit de taper le nom de cette variable. Taper
les instructions suivantes et compléter :
instruction à taper
age
prenom
prenom = "Lancelot"
prenom
age = 40
age
age = 22
age
age = age + 1
age
phrase1
phrase2
profession
profession="étudiant(e)"
profession
quelle valeur contient la variable ? (+ commentaire)
Remarque : le langage Python permet de faire plusieurs affectations à la fois, séparées par des virgules sur une
seule ligne, mais cette utilisation est fortement déconseillée dans le cadre de ces TP. Exemple d'une
telle affectation multiple : (à ne pas utiliser dans ces TP !)
>>>nom,prenom,age,etudiant="Student","Joe",20,True
1.2.2- Les noms de variables
Un nom de variable doit (conventions TPs Python, à respecter !) :
•débuter par une lettre minuscule
•contenir uniquement des lettres sans accents, des chiffres et le tiret de soulignement _ (appelé tiret “underscore”
ou encore “tiret du 8”)
• Être aussi explicite que possible (ne pas utiliser de noms trop courts et sans signification comme a, b, x, y, n,
mais utiliser plutôt age, longueur, nombre, somme...)
Le langage Python fait la distinction entre les majuscules et les minuscules.
Les mots clés réservés du langage ne peuvent pas être utilisés comme nom de variables (car ils sont déjà “réservés”
par le langage). Ce sont :
and
as
assert
break
class
continue
except
def
False
del
finally
elif
for
else
from
global
lambda
if
None
import
nonlocal
in
not
is
or
pass
raise
return
True
try
while
with
yield
Exercice 3 : échanger la valeur de 2 variables
écrire (sur papier) un algorithme pour échanger les valeurs de 2 variables que vous nommerez var1 et var2.