Python - WordPress.com

publicité
Les variables, les tests et les boucles en Python
Python est un langage multiplateformes, c'est-à-dire disponible sur plusieurs architectures (PC, tablettes, smartphones, ...)
et systèmes d'exploitation (Windows, Linux, Mac, Androïd...).
Actuellement, Python en est à sa version 3 ; cependant, la version 2 est encore largement utilisée.
Lancement :
Une fois installé, on lance IDLE en allant dans : Démarrer → Programmes → Python → IDLE (Python GUI)
IDLE est 1 environnement de développement intégré ( IDLE en anglais : Integrated DeveLopment Environment).
IDLE propose un certain nombre d'outils :
** un éditeur de texte (File\New Window, pour écrire le programme ; exécution par Run\Run module)
** un interpréteur (le Shell , fenêtre dans laquelle le script est exécuté)
** un débogueur (pour tester le programme)
1 script Python est 1 fichier texte avec l’extension .py
Dans l’interpréteur, >>> s’appelle le prompt principal ou invite de commande ( comme le _ clignotant en MS-DOS) .
1 commentaire est signalé par #
1] Premiers essais
Faire :
>>> 5+3
>>>5 + 3 # remarque ? les espaces sont optionnels
>>> 7 + 3 * 4 # remarque ? la hiérarchie des opérations mathématiques est respectée
>>> (7 + 3)*4 # remarque ? les ( ) changent l’ordre des priorités
>>> 20 / 3 #remarque ? par défaut la division est 1 division entière
>>>20.0 / 3 # remarque ? si on veut prendre les réels en compte, on le signale en mettant au moins 1 point décimal « . »
>>> n = 7
>>> message = ‘Quoi de neuf ?’
>>> pi = 3.1416
>>>print ( n, message,pi) # remarques ? déclarer le type des variables n’est pas nécessaire ; print affiche la valeur de la
variable
>>> print (n + pi)
>>> print ( n + message) # remarque ? on peut ajouter 1 entier et 1 réel , mais pas 1 entier et 1 string ( assez logique !)
2] Les types de variables
21) Le type int ( les nombres entiers)
>>> Age = 17
>>> print ‘Age = ‘, Age
>>> print ‘Age =’ + str(Age) # que fait la fonction str() ? elle transforme 1 entier en chaîne de caractères, ce qui permet
la concaténation
Essayer : >>> print(type(Age)) # que fait la fonction type() ? <type 'int'> elle retourne le type de la variable .
>>> a,b,c = 2, 4, 6
>>> print(a + b + c ) #remarque ? on peut faire des affectations multiples
Pour entrer 1 donnée au clavier :
On utilise la fonction input( ) :
>>> x = input (‘x = ‘)
>>> y = input(‘ y = ‘)
>>> z = x+y
>>> print ‘z = ‘ , z affiche z = 13 , alors que >>> print (‘z = ‘, z) affiche (‘z =’, 13)
22) Le type float (réel avec virgule flottante)
>>> b = 17.1
>>> print (b)
>>> print(type(b))
>>> c = 25.7/b
>>> print(c)
La notation scientifique :
>>> Na = 6.02e23
>>> print(Na)
Remarque : ** pour utiliser les fonctions mathématiques, il faut importer le module math
>>> from math import * # le * veut dire qu’on importe toutes les fonctions du module
Chercher la valeur de cos(pi / 4)
tester print(pi) .
23) Le type str ( chaîne de caractères)
>>> nom = ‘Dupont’
>>> print(nom)
>>> print (type (nom))
>>> print(len(nom))
# que fait la fonction len( ) ? retourne la longueur length de la chaîne
>>> print (nom[2]) # conséquence ?
** La fonction dir( ) retourne la liste des fonctions et données d’1 module :
Faire dir(str) pour avoir la liste des données et fonctions du module ;
** Remarque , faire :
>>> nom.
=> une aide contextuelle sous forme des propriétés du type str apparaît ,descendre dans la liste jusqu’ à
upper , ajouter ( ) et valider .
Remarque sur les apostrophes dans 1 chaine :
>>> texte = ‘Aujourd’hui’
Il faut utiliser \ , qui est 1 séquence d’échappement . S’en servir pour afficher correctement la variable texte.
texte = 'Aujourd\'hui'
Exercice 1 : utiliser Fichier\Nouvelle fenêtre pour écrire 1 programme qui demande
** votre nom
** votre prénom
** votre âge
** affiche l’ensemble dans 1 unique chaîne nommé identité , et affiche sa longueur :
mon prenom est: Xxxxx, mon nom est: Yyyyy, mon age est :zz ans
longueur = ??
24) Le type list ( liste)
1 liste est 1 structure de données ; qui peut contenir des variables de plusieurs types ; le premier élément a l’indice 0 et on
accède aux diverses variables par leurs indices .
Ex, (vous pouvez adapter à votre cas et enr ) :
>>>infosPerso = [‘Pierre’, ‘Dupont’, 17, 1.75 ]
>>> # la liste infosPerso contient 4 éléments de types str, str,int, float
>>> print(infosPerso)
>>> print ‘Prénom :’ ,infosPerso[0]
>>> print ‘Nom :’ ,infosPerso[1]
>>> print ‘Age :’ ,infosPerso[2]
>>> print ‘Taille :’ ,infosPerso[3]
>>> print(type(infosPerso))
Remarque : la fonction range() crée 1 liste d’entiers régulièrement espacés :
>>> maListe = range(10)
>>> print(maListe)
>>>print(type(maListe))
25) le type booléen (bool)
2 valeurs sont possibles : True et False
>>> r = ( 1 = = 2)
>>> print r, type(r)
>>> b = (1 = = 1) and (5 > 2)
>>> print b , type(b)
26) compléments
a ) Les opérateurs de comparaison :
Opérateur
<
<=
>
>=
==
!=
is
is not
Signification
strictement inférieur
inférieur ou égal
strictement supérieur
supérieur ou égal
égal
différent
identique
non identique
Remarques
Attention : deux signes ==
Deux conditions : égal et même type
b) les opérateurs logiques
and , or, not
c) l’opérateur in
utilisé avec des types str ou list , il teste si 1 élément est dans l’ensemble.
La fonction float (chaine) convertit 1 str en 1 float
La fonction str(int) convertit 1 int en 1 str
int(chaine) convertit 1 str en 1 int .
3] Les conditions ( Si …. )
Les 3 syntaxes de base sont :
if (test) :
bloc d’instructions
suite du programme
ou :
if (test) :
bloc d’instructions 1
else :
bloc d’instructions 2
suite du programme
ou :
if (test 1) :
bloc d’instructions 1
elif(test 2) :
bloc d’instructions 2
elif (test 3) :
bloc d’instructions 3
else :
bloc d’instructions 4
suite du programme
Quand le premier test « vrai » est rencontré, les instructions sont exécutées et on passe à la suite du programme .
Notez les « : » et les identations qui sont obligatoires .
Ex 2 : écrire 1 programme qui demande la moyenne au bac et affiche la mention correspondante .
( prévoir les 5 cas habituels : <10, 10, 12, 14, 16 ) .
>>> Note au bac (sur 20) : 13.5
>>>Bac avec mention Assez Bien
Ex 3 : le numéro de sécurité sociale est formé de 13 chiffres avec une clé de contrôle (2 chiffres) .
Cette clé est calculée par la formule : 97 – numéro de ss modulo 97
Ecrire 1 programme qui contrôle la validité d’1 numéro de ss.
La clé = 97 – ( le numéro de ss modulo 97) ; ( soit numéro ss % 97 )
Ex :
>>>
Entrer votre numéro de sécurité sociale (13 chiffres) --> 1891126108268
Entrer votre clé de contrôle (2 chiffres) --------------> 91
Votre numéro de sécurité sociale est valide.
>>>
Entrer votre numéro de sécurité sociale (13 chiffres) --> 2891126108268
Entrer votre clé de contrôle (2 chiffres) --------------> 91
Votre numéro de sécurité sociale est INVALIDE !
>>>
4] Les boucles
41) La boucle while
La syntaxe est :
while ( test) :
bloc d’instructions
suite du programme
Ex 4 : écrire 1 programme qui affiche les premiers entiers positifs ou nul et leurs carrés tant que le carré est inférieur à
1000 (utiliser l’opérateur ** qui donne la puissance)
Le programme se termine en affichant le dernier entier qui est élevé au carré .
42) La boucle for
La syntaxe est :
for élément in séquence :
Bloc d’instructions
Suite du programme
( Les éléments de la séquence sont issus d’une chaîne de caractères ou d’une liste )
Ex 5 : soit la chaîne : ‘python, est vraiment simple !’
** afficher les caractères de la chaîne en colonne
** compter le nombre de ‘e’
** compter le nombre de caractères et afficher le texte à l’envers sur 1 ligne
Ex 6 : on reprend infosPerso = [‘Pierre’, ‘Dupont’, 17, 1.75 ]
Afficher les éléments de cette liste sur 1 colonne avec une boucle for ,
Puis sur la même ligne ,
Le programme se termine par ‘Fin de la boucle’
Ex 7 : utilisation de la fonction range()
L = range(10) crée une liste de 10 entiers de 0 à 9
Utiliser for et range() pour afficher les 100 premiers entiers naturels
Ex 8 : Exemple d’utilisation de break
Tester ce programme :
import time
# importation du module time
while( True):
#strftime est 1 fonction du module time
print('Heure courante ', time.strftime('%H:%M:%S'))
quitter = input('Voulez-vous quitter le programme (o/n) ?')
if(quitter == 'o'):
break
print(' A bientôt')
Tester-le; expliquer son fonctionnement , et le rôle indispensable de break .
Ex 9 sur les boucles :
a) Ecrire 1 programme qui recherche le plus grand élément présent dans 1 liste donnée.
Par exemple, si la liste est faite des entiers 32, 5, 12, 8 , 3 , 75 , 2 , 15 , le programme affiche :
le plus grand élément de cette liste a la valeur : 75
b) Amélioration : la liste est entrée au clavier .
c) Ecrire 1 programme qui sépare la liste du a) en 2 nouvelles listes ; l’une contient les entiers pairs et l’autre les impairs .
Utiliser l’opérateur modulo % .
Ex 10 : que fait ce programme ?
# Instructions composées <while> - <if> - <elif> - <else>
print 'Choisissez un nombre de 1 a 3 (ou zero pour terminer) ',
a = input()
while a != 0: # l'operateur != signifie "different de"
if a == 1:
print "Vous avez choisi un :"
print "le premier, l'unique, l'unite ..."
elif a == 2:
print "Vous preferez le deux :"
print "la paire, le couple, le duo ..."
elif a == 3:
print "Vous optez pour le plus grand des trois :"
print "le trio, la trinite, le triplet ..."
else :
print "Un nombre entre UN et TROIS, s.v.p."
print 'Choisissez un nombre de 1 a 3 (ou zero pour terminer) ',
a = input()
print "Vous avez entre zero :"
print "L'exercice est donc termine."
Téléchargement