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 # >>>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(/4) ** La fonction dir( ) retourne la liste des fonctions et données d’1 module : Faire dir(math) ; dans ce module cos ( ) est une fonction et pi est une donnée ; 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 ? 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 possède 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 5 é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 = = ) and (5 > 2) >>> print b , type(b) 26) compléments a ) Les opérateurs de comparaison : Opérateur Signification Remarques < strictement inférieur <= inférieur ou égal > strictement supérieur >= supérieur ou égal == égal Attention : deux signes == != différent is identique Deux conditions : égal et même type is not non identique 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 3 : écrire 1 programme qui demande la moyenne au bac et affiche la mention correspondante . >>> Note au bac (sur 20) : 13.5 >>>Bac avec mention Assez Bien Ex 4 : 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 5 : é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 6 : 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 7 : 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 8 : 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 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 . Le 5-13 P 59 GS .