Le Coin Wiki
d'Olivier Dalle
$WikiTagline
 

Exercices du cours Python (Version 2.X)

Pour ceux qui veulent utiliser python sous Windows: le menu Python se trouve dans le menu Programmes/Langages. Pour cette premire sance nous allons utiliser l’editeur intgr IDLE (premier programme du menu Python). Prenez le temps d’explorer les autres programmes de ce menu ( l’exception du programme de dsinstall!).

Le premier cours vous a presente le langage Python v 2.5. Sur vos machines vous trouverez 2 versions, 2.6 et 3.1. Attention la syntaxe est differente! Comme c’est toujours la version 2.X qui est la plus utilise c’est sur cette version que nous allons travailler. Nanmoins, ceux qui veulent peuvent essayer de refaire les exercices de cette page avec la version 3.X a partir de cette page. Attention, les exercices qui suivent sont prevus pour la version 2.X…

Remerciements

Ces exercices sont trs fortement inspirs de la feuille d’exercices prpare par Bob Cordeau , l’IUT d’Orsay (l’auteur du Cours python).

Exercice 1 : Premiers pas

Contraitrement au language C, les instructions du language Python peuvent tre excuts directement par l’interprteur Python, au fur et mesure qu’on les excute. Essayons cela. Dans une fentre shell, tapez la commande suivante:

~> python
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32
Type “copyright”, “credits” or “license()” for more information. >>>

Et voil, l’interpeteur python est prt, il attend vos commandes. Essayons par exemple de lui faire afficher bonjour:

>>> print “bonjour”
bonjour
>>>

Remarquez la prsence des 3 suprieurs (>>>). C’est le prompt de python. Il indique que l’interprteur Python est prt pour une nouvelle commande. A l’inverse, quand le prompt ne s’affiche pas, c’est que la commande prcdente n’est pas termine. Regardez par exemple ce qui se passe avec la commande print '''bonjour sans refermer les triples quotes.

>>> print ’’’bonjour

Essayez maintenant les commandes suivantes, et dduisez-en le rle des caractres , (virgule) , + (plus) et * (etoile).

>>> print “bonjour”,”ca”,”va”
>>> print “bonjour”+”ca”+”va”
>>> print “bonjour”*10

Retour en haut de la feuille d’exercice

Exercice 2 : Obtenir de l’aide

Sous windows vous avez certainement remarque que la documentation etait directement accessible a partir du menu Python. N’hesitez pas a l’utiliser pour les TPs. Mais ne negligez pas les autres formes, dont vous aurez certainement besoin un jour, par exemple si vous utilisez Python sur une machine Linux.

Une premire faon d’obtenir de l’aide c’est d’utiliser l’aide de l’interprteur Python:

>>> help()
Welcome to Python 2.6! This is the online help utility.

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type “quit”.
To get a list of available modules, keywords, or topics, type “modules”,
“keywords”, or “topics”. Each module also comes with a one-line summary
of what it does; to list the modules whose summaries contain a given word
such as “spam”, type “modules spam”.

help>

Nanmoins, cette forme d’aide est plutot rserve aux utilisateurs avertis. Pour commencer, il vaut mieux nous tourner vers les formes d’aides destines aux dbutants que l’on trouve en ligne (pensez les ajouter dans vos bookmarks):

http://docs.python.org/tut/node1.html
le tutoriel de Python (version 2.7 par defaut).
http://docs.python.org/py3k/tut/node1.html
le tutoriel de Python (version 3.1).

Un excellent moyen de se familiariser avec Python. Pensez le faire par vous mme en dehors des cours.

http://docs.python.org/release/2.6.6/reference/index.html
le manuel de rfrence Python. Il contient la documentation complte du langage. Essayez de trouver le temps de le parcourir d’ici quelques temps lorsque vous aurez un peu progress. On y dcouvre toujours des choses intressantes.
http://docs.python.org/release/2.6.6/library/index.html
la bibliothque standard de Python. Elle contient toutes les fonctions utilitaires dont on a besoin couramment. Essayez aussi d’en faire le tour quand vous avez un moment.

Remarquez la prsence de la fentre de recherche dans les pages d’aide en ligne du manuel et de la librairie Python. Trs pratique pour retrouver une fonction ou un module dont on sait qu’il/elle existe mais dont on sait plus comment s’en servir.

Retour en haut de la feuille d’exercice

Exercice 3 : La calculette python

Essayez et commentez le rsultat des commandes suivantes:

>>> 1 * 1000
>>> _ * 1000
>>> 2.18 * 3.4567e-1
>>> 20.0 / 3
>>> 20.0 // 3
>>> 20 /3
>>> 20/ 3.0
>>> 20 // 3.0

Exprimentez quelques oprateurs:

>>> 20 % 3
>>> 2.0 ** 10
>>> 5 ** 2 % 3 # Dduisez-en la priorit des oprateurs
>>> 5 % 2 ** 3 # ici aussi

Essayons de consruire quelques variables, mai attention au choix de leur nom. Essayez et commentez ce qui suit:

>>> a = 2
>>> 2a = 2*a
>>> uneVariable = 5
>>> try = 2

Maintenant, essayons diffrents types d’affectations de variables:

>>> a = 7 # Affectation d’un entier
>>> msg = “Quoi de neuf ?” # Une chaine de caracteres
>>> msg # un moyen simple de vrifier le contenu d’une variable
>>> print msg # un autre moyen
>>>
msg = “”“Une chaine qui s’tend
sur plusieurs
lignes
“”“
>>> msg # Quelle diffrence entre cette faon
>>> print msg # et celle-ci ?

Quelques oprations sur les chanes:

>>> c1 = ‘abc’
>>> len(c1) # longueur
>>> c2 = ‘defg’
>>> c3 = c1 + c2 # concatenation
>>> c4 = ‘Fi!’
>>> c5 = c4 * 3 # Affichez c5
>>> c6 = (c1 + c4) * 3 # Afichez c6
>>> c7 = c1 + c4 * 3 # affichez c7

Retour en haut de la feuille d’exercice

Exercice 4 : Squences, indiage et extraction

Les chanes de caractres sont stockes sous forme de tableaux de caractres. Intressons-nous de plus prs aux oprations sur les tableaux.

Souvenez-vous que l’indice du premier lment est toujours 0. Pour le vrifier essayez ceci:

>>> c2 = ‘abcdefg’ # un tableau de caracteres
>>> c2[0]
>>> c2[1]
>>> c2[−1] # on peut aussi compter par la fin …
>>> c2[−3]

Malheureusement, les chaines ne sont pas modifiables. En revanche on peut en utiliser des parties pour en construire d’autres. Essayez par exemple ce qui suit:

>>> s = ‘spam & eggs’ # A la place, on voudrait : ‘Spam & Eggs’
>>> s[0] = ‘S’

Comme la mthode consistant remplacer directement une partie de la chaine ne fonctionne pas. Essayons autrement, en fabriquant une nouvelle chaine avec des morceaux de l’ancienne. Entrainons-nous un peu d’abord (expliquez les resultats obtenus):

>>> s2 = “abcdefghijk”
>>> s2[1:3]
>>> s2[1:]
>>> s2[:1]
>>> s2[:]
>>> s2[::2]
>>> s2[3:6]

Vous avez compris? Tres bien alors trouvez la solution pour ecrire 'Spam & Eggs' a partir de 'spam & eggs'.

En fait, les chaines de caractres sont l’une des 3 formes de sequence proposes par Python:

  1. Les chaines: tableaux de caractres, non modifiables
  2. Les listes: tableaux d’objets quelconques, modifiables
  3. Les tuples: tableaux d’objets quelconques, non modifiables (mais plus rapides que les listes)

Essayons donc les deux dernires formes:

>>> liste_vide = []
>>> len(liste_vide) # pour verifier
>>> couleurs = [‘bleu’, ‘rouge’, ‘vert’]
>>> couleurs[1] # indicage
>>> couleurs[0:1] # decoupage
>>> couleurs[1] = ‘jaune’ # une liste est modifiable
>>> couleurs[2] = 1.414 # et peut contenir des types differents…
>>> c = [1, 3, couleurs] # … comme des listes par exemple!
>>> a = [0,1,2]
>>> b = [3,4,5]
>>> c = [a,b]
>>> c[0][2]
>>> c[1][0]
>>> c[1][3] # Quel est le probleme ici ?

Passons aux tuples maintenant:

>>> monTuple = (‘bleu’, ‘blanc’, ‘rouge’)
>>> monTuple[0]
>>> monTuple[0] = ‘vert’ # expliquez

Retour en haut de la feuille d’exercice

Exercice 5 : Tutorial

Si vous avez termin, vous pouvez commencer a suivre le tutorial en ligne de Python, trs instructif…

Retour la page principale…