L1 Informatique et Programmation TD1 : Python, variables et entrées

publicité
L1 Informatique et Programmation
TD1 : Python, variables et entrées/sorties
1
Préambule ; Utilisation des ordinateurs de la salle :
•
La salle est équipée de PC Shuttle
Se répartir au mieux sur les stations (groupes de 2-3 personnes)
Un « pilote », des « copilotes »
Changer de rôle d'un exercice à l'autre, ou d'un TD à l'autre (essayez d'équilibrer)
•
Démarrage
Allumer le pc, puis se connecter avec son identifiant lyon 2 (comme pour les mails et le BV
de la fac), valider
Entrer son mot de passe (toujours celui de la fac), valider
Attendre les instructions de votre enseignant pour lancer l'environnement où vous allez
pouvoir programmer
C'est fait, vous êtes prêts à programmer en Python !
(pour télécharger Python chez vous, allez tout simplement sur http://Python.org )
2
Le langage Python interprété avec IDLE :
Le Python est un langage de programmation interprété, ce qui veut dire qu'il peut exécuter au
fur et à mesure les commandes qu'on lui donne.
Dans la fenêtre IDLE, vous pouvez voir trois chevrons ( >>> ) . Ceci indique qu'il est prêt à
exécuter les instructions que nous allons lui donner
premier contact :
•
tapez
>>> bonjour
L'interpréteur renvoie une erreur ; il ne comprend pas ce que vous avez saisi
•
essayez
>>> 7
Il renvoie ce nombre ; l'interpréteur python « comprend » les nombres
•
maintenant essayons une opération
>>> 5 + 3
Il renvoie le résultat de l'opération ; l'interpréteur python peut traiter des opérations mathématiques
•
essayez avec différentes opérations (vous pouvez les combiner) :
◦ + (addition)
◦ - (soustraction)
◦ * (multiplication)
◦ / (division)
Remarque : Python respecte la priorité des opérateurs :
>>> 5 + 4 * 3
17
>>> (5 + 4) * 3
27
3
Les variables :
Rappel : une variable permet de stocker des données (c'est une « boîte »).
Elle est caractérisée par :
•
un nom (qui permet de l'identifier)
•
un type (elle contient un type précis de données)
•
une valeur (ce qui est dans la variable)
•
Le nom :
◦ Il est composé uniquement de lettres et de « _ », pas d'accents
◦ Il ne peut pas commencer par un chiffre
◦ Il est sensible à la casse : maison =/= MaiSon
•
Le type :
la variable peut contenir :
◦ des nombres entiers, appelés « int » pour integer (entier)
◦ des nombres à virgule, appelés « float » pour floating point (virgule flottante)
◦ des chaînes de caractères, appelées « str » pour string (chaîne)
•
Affecter une valeur à une variable :
◦ Pour cela, on donne le nom de la variable, puis « = », puis la valeur qu'on veut lui
donner
◦ Si on lui donne plus tard une nouvelle valeur, elle remplace l'ancienne
•
•
un peu de pratique :
>>> age = 23
(je donne la valeur 23 à la variable « age »)
>>> age
(j'appelle la variable « age »)
23
(il me donne sa valeur, 23. c'est un nombre entier)
Refaire avec une autre valeur ; la valeur de « age » est changée !
« age » est de type nombre entier (int), je peux donc faire des calculs avec !!!
>>> age = age + 2
(mettre dans « age » le résultat de « age » plus deux)
>>> age
(quelle est la nouvelle valeur de « age » ?)
maintenant avec une chaîne de caractères :
>>> nom = ''Pierre''
(je donne la valeur « Lionel » à la variable « nom »)
>>> nom
(j'appelle la variable « nom »)
Pierre
(il me donne sa valeur, « Pierre », c'est une chaîne)
Remarque :
•
il faut mettre des guillemets simples ou doubles, pour lui indiquer que c'est une chaîne
•
je ne peux pas faire de calcul avec les chaînes de caractères
•
Essayer (taper nom après chaque ligne pour vérifier le résultat) :
>>> nom = 'Pierre'
>>> nom = Pierre
>>> nom = ''Pierre'' * ''Pierre''
>>> nom = nom * 2
>>> nom + age
on ne peut pas additionner des carottes et des pommes (ou des chaînes et des entiers)
mais on peut transformer un nombre (int) en chaîne (str), ou le contraire, quand c'est possible...
pour ça on utilise les commandes int() et str() :
>>> age = 20
>>> age + 1
21
(c'est bien un nombre, je peux calculer avec)
>>> age = str(age)
« age »)
(je transforme « age » en chaîne, et je le remet dans
>>> age + 1
Ça ne marche plus ; pour lui « age » est une chaîne, et il ne peut plus calculer !
•
Pour retransformer « age » en entier (ou int)
>>> age = int(age)
On appelle cette transformation du type d'une variable le « casting »
4
Les entrées et sorties :
Tout ça c'est très bien, mais plus tard on aimerait bien pouvoir poser des questions à l'utilisateur
et lui envoyer des réponses !
En Python c'est très simple :
•
pour poser une question à l'utilisateur on va utiliser la commande « input() »
◦ on met entre parenthèses la question que l'on veut poser (avec des guillemets !)
•
pour envoyer une réponse, on utilise la commande « print() »
◦ on met entre parenthèses ce qu'on veut qu'il écrive à l'écran
•
Essayez :
>>> input(''écris un truc et appuies sur entrée'')
faites ce qu'il demande... il renvoie la chaîne de caractères qu'on a écrit...
on peut donc mettre ça dans une variable !
>>> nom = input(''quel est ton nom ?'')
>>> nom
Et avec des nombres ?
>>> age = input(''quel est ton age ?'')
>>> age
>>> age + 1
Aie ! Pour lui c'est une chaine de caractère...
Peut être en la transformant ?
>>> age = int(age)
>>> age + 1
Ok je peux maintenant demander à l'utilisateur de saisir du texte ou des nombres, et les stocker dans
des variables.
Maintenant comment lui envoyer une réponse avec print() ?
>>> print(''Hello world !'')
Hello world !
Et avec une variable ?
>>> print(age)
Pour écrire plusieurs choses à l'écran, il suffit de les séparer par une virgule...
des variables :
>>> print(nom , age)
du texte :
>>> print(''Hello'' , ''world !'')
les deux !
>>> print(''ton nom est'' , nom , ''et tu as'' , ''ans'')
On peut commencer à faire des choses plus sympa :
>>> nom = input(''quel est ton nom ?'')
>>> age = input(''quel est ton age ?'')
>>> age = int(age)
(je veux que age soit un nombre)
>>> print(''Bonjour'' , nom , ''tu as'' , age , ''ans'')
un petit bonus ? (avec un coup de pression)
>>> print(''tu as interêt à avoir ton master de psycho à'' , age + 5 , ''ans ,'' , nom , ''!'')
play time !
Téléchargement