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.

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, Lycée Jean Jaurès - Saint Clément de Rivière - France (2015-2017)