#!/usr/bin/env python # coding: utf-8 # [Commentaire 1]: <> (Cours sous licence CC SA BY NC, Frédéric Mandon 2015) # # # Premiers pas avec le langage Python # # ## Utilisation du notebook # # Pour cette séance, nous allons utiliser Python en mode "notebook". Le fichier que vous venez d'ouvrir, "introduction à Pyhton.ipynb", et qui est affiché ici-même, est un notebook. Faites-en une copie avec la commande ci dessus "File>Make a Copy...", et renommez-le en cliquant sur le titre (à côté de jupyter TD1...), par exemple en rajoutant votre nom. # # On peut entrer des expressions (opérations, calculs) ou des instructions (des commandes) dans tous les champs ci-dessous qui commencent par `In[..]`. Pour entrer plusieurs lignes à la suite, on appuie sur la touche entrée. # # Le résultat s'obtient avec : # * ctrl + entrée, dans ce cas on reste dans la cellule courante; # * majusucule + entrée, dans ce cas on passe à la cellule suivante. # * Après exécution, le résultat d'un programme est souvent précédé de Out[ ]. # # Il est possible qu'un notebook ne réponde plus lors de la tentative d'éxécution d'un commande ou d'un programme. C'est notamment le cas lorsqu'un programme précédent à planté. Commencez par sauver votre travail. Puis allez dans l'onglet "Home", et fermez le TD : cocher la case correspondante, "shutdown" en haut de la page. Fermez ensuite l'onglet du TD, et relancez-le à partir de "Home". # # # ## Expressions et opérations de base # # Testez les opérations usuelles (`+ - * /`) dans le champ ci-dessous. On peut ré-écrire sur ce qui est déjà présent. # # In[ ]: 5 + 7 # Testez le parenthésage: # In[ ]: 7 + 4*3 # In[ ]: (7+4)*5 # Enfin, testez les opérateurs suivants `// % **`. # Complétez votre cours (§ VI.1) en précisant leur effet. # In[ ]: # ## Variables et affectations - entrées-sorties # # Une variable est une mémoire qui permet de stocker une valeur numérique, du texte, une liste de courses,... # On affecte une valeur à une variable avec `=` . # On affiche une variable avec l'instruction `print(variable)`: c'est une instruction de sortie (output). # In[ ]: a = 2 print(a) # __Attention : Le symbole "=" n'a pas du tout la même signification qu'en mathématiques !__ # # L'équation : $$a = a + 1 $$ n'a pas de solution en mathématiques, par contre ceci fonctionne : # In[ ]: a = 5 a = a + 1 print(a) # On peut affecter une _expression_ à une variable: # In[ ]: b = 5 c = 2*a + b**2 print(c) # Une instruction d'entrée importante est input(). Ci-dessous, on affecte l'entrée à la variable _prenom_. # # Remarque : il n'y a pas d'accent à la variable _prenom_, c'est volontaire : cf. le cours photocopié. # In[ ]: prenom = input("Donnez votre prénom : ") print("bonjour",prenom) # Qu'est censé faire le code suivant ? Testez-le, et concluez : # In[ ]: a = input("entrez un nombre :") print(3*a) # ## Typage des données # # Comme vous venez de le voir, le résultat du programme précédent n'est pas celui attendu. Les données et les variables sont __typées__ dans un langage de programmation, c'est-à-dire que l'on doit préciser si ce sont des nombres, du texte, etc... En python le typage est très souple, ce qui facilité l'écriture des programmes lorsque l'on débute. Néanmoins, il est parfois nécessaire de le préciser. L'instruction `type(variable)` permet de savoir quel est le type d'une variable. Testez et concluez (vous pouvez écrire vos idées après "commentaires" avec un double clic sur la ligne "commentaires", puis ctrl + entrée pour avoir le format texte) : # In[ ]: a = 3 type(a) # In[ ]: a = input("entrez un nombre :") type(a) # Commentaires : # Les types principaux que nous utiliserons cette année sont: # * les entiers : type `int`; # * les flottants (approximation des nombres réels par des décimaux): type `float`; # * les caractères (lettres) : type `char`; # * les booléens (vrai ou faux) : type `bool`; # * les listes (ou tableaux) : type `list`; # * les chaines de caractères (mots, phrases), qui sont des listes de lettres en fait : type `str`. Elles sont entre guillemets simples `'chaine'` ou doubles `"chaine". # # On peut forcer le type de certaines variables en rajoutant le type souhaité devant la variable. # * Comparez le code ci-dessous avec les précédents ; # * puis enlevez le `int` devant le input et testez à nouveau; enfin concluez. # In[ ]: a = int(input("entrez un nombre :")) print(type(a)) print(3*a) # On utilise la notation anglo-saxonne avec . pour la virgule, et e pour "10 puissance". Par exemple 1.5e4 = 15000 # # Des phénomènes étranges peuvent se passer avec les flottants... tester 0.1 + 0.1 puis 0.1 + 0.1 + 0.1 etc.. Conclure. # In[ ]: 0.1+0.1 # Commentaires : # Remarque : le type complexe existe aussi, on utilise j à la place de i. # In[ ]: type(1+2j) # Premier programme # ----- # Ecrire un programme qui demande votre âge en année et le convertit en nombre de jours. # # En exemple ci dessous, les premières lignes avec des commentaires. Il ne vous reste qu'à compléter ! # In[ ]: """ TD1_ex1_fait_par_Super(wo)man Programme permattant de convertir un nombre d'annees en nombre de jours """ prenom = input("Donnez votre prenom : ") # un petit accueil sympathique print("bonjour",prenom) #
#
# [![Licence CC BY NC SA](https://licensebuttons.net/l/by-nc-sa/3.0/88x31.png "licence Creative Commons CC BY SA")](http://creativecommons.org/licenses/by-nc-sa/3.0/fr/)
# [**Frederic Mandon**](mailto:frederic.mandon@ac-montpellier.fr), Lycée Jean Jaurès - Saint Clément de Rivière - France (2015-2017)