TP Python 2/2 - Département d`Informatique

publicité
Université de Strasbourg
Environnement informatique
Feuille de TP
TP 7 : Langage de programmation Python- Partie 2
Ce TP consiste à découvrir le langage Python à l’aide de l’interpréteur interactif ipython.
I) Débuter avec ipython
ipython est un interpréteur de Python avec des fonctionnalités telles que la complétion et la documentation des méthodes et fonctions du langage. Il est idéal pour découvrir Python rapidement.
Pour lancer l’interpréteur, entrer ipython dans une invite de commandes.
II) Les opérateurs de comparaison
Tester les comparateurs standard : >, >=, ==, etc.
III) Les chaînes de caractères
Une chaîne de caractères s’écrit en plaçant cette chaîne soit entre deux guillements (ex. "exemple")
soit entre deux simple quotes (ex. ’exemple’).
1. Affecter la chaîne de caractères "salut" à la variable s.
2. Taper l’instruction "s ?". A quoi cela correspond-il ?
3. Il est possible de faire de l’autocomplétion avec ipython. Taper s suivi d’une tabulation. Que se
passe-t-il ?
4. Taper ensuite "s." suivi d’une tabulation pour obtenir la liste des différents champs et méthodes de
la classe string. Vous noterez que les méthodes préfixées et suffixées par __ ne sont généralement
pas utilisées telles quelles. Il existe souvent des alternatives : par exemple, s.__len__() <=> len(s).
5. Pour obtenir la documentation d’une méthode, taper le nom de la méthode suivi du symbole ’ ?’
(ex. s.replace ?). Tester l’exemple. Que fait cette méthode ? Utiliser.
6. Trouver un moyen de mettre en majuscule la première lettre de s
7. Tester les opérateurs (+,-,*) sur deux chaînes de caractères.
8. Tester ces mêmes opérateurs sur une chaîne de caractères et d’autres types (ex. entier).
9. Tester aussi les comparateurs.
IV) Les scripts
Les instructions Python peuvent être entrées directement dans l’interpréteur, mais ce n’est évidemment pas pratique dans le cas d’un programme complet.
Pour exécuter plusieurs instructions les unes après les autres (i.e un programme), elles peuvent être
écrites dans un fichier (aussi appelé script), nommé par exemple : exercice1.py (l’extension .py est vivement recommandée).
1
Ce script pourra alors être exécuté avec la commande "python exercice1.py" dans un terminal. Ecrire
un script définissant une liste contenant 5 éléments et affichant ces derniers un par un (grâce à la commande print). Exercice 5 - Les boucles
Une boucle permet d’exécuter plusieurs fois une ou plusieurs instructions de manière itérative. La
syntaxe est la suivante :
ma_liste=[’a’,’b’,’c’,’d’]
for i in ma_liste:
print i
Attention : l’indentation (espaces) avant la commande ’print’ est obligatoire : c’est ainsi que Python
va reconnaître le corps de la boucle.
Pour n’utiliser qu’une certaine portion de la liste, on peut en définir les bornes :
for i in ma_liste[1:3]:
...
Vous pouvez également utiliser des listes numériques dans une boucle for, par exemple :
for i in range(4):
...
1. Ecrire un script dans lequel vous définirez une liste L1 contenant une dizaine d’éléments, puis
utilisez une boucle pour en afficher tous les éléments.
2. Utilisez maintenant une boucle et une liste numérique (avec range) pour afficher les éléments de
L1 via leurs indices
V)
Les conditions
Nous avons vu lors du premier TP les opérateurs permettant de comparer des objets entre eux (entiers,
réels, chaines de caractères, etc). Ces opérateurs vont vous permettre d’effectuer des tests, et d’exécuter
d’autres opérations en fonction du résultat de ces derniers.
Exemple :
i=(un entier de votre choix)
if i > 0:
print ("i est supérieur à 0")
elif i < 0: <=== elif est la contraction de "else if"
print("i est inférieur à 0")
else:
print ("i est nul")
Là encore, l’indentation est primordiale.
2
1. Ecrivez un script permettant de comparer la longueur de deux mots et d’afficher le plus long.
2. Ecrivez un script dans lequel vous définirez une liste d’entiers allant de 1 à 20 (utilisez la fonction
"range"),
3. Utilisez une boucle et des conditions pour n’afficher que les nombres pairs
VI) Passer des paramètres au script
Comparer des chaines de caractères ou des listes que vous avez vous même définies n’est pas idéal.
Pour rendre les scripts plus interactifs, il faudrait faire en sorte que les valeurs puissent être paramétrées
au moment où vous lancez votre script.
Ceci peut se faire de la manière suivante :
# import de librairies nécessaires au fonctionnement des scripts
import sys
# la variable "argv" va contenir tous les paramètres passés en ligne de commande
print(sys.argv)
En exécutant le script :
# python mon_script.py 1 2 3
# [’mon_script.py’, ’1’, ’2’, ’3’]
la liste sys.arg contiendra automatiquement le nom du fichier en position 0, puis tous les arguments
passés en paramètre.
1. Reprenez l’exemple et modifiez le pour n’afficher que le chiffre ’2’
2. Reprenez le script écrit en 3.1 pour comparer la longueur de deux mots passés en paramètres
3. Ecrivez un script permettant d’afficher si l’entier passé en paramètre est pair ou impair
3
Téléchargement