[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
4 vues11 pages

Base Python

Le document présente une introduction au langage de programmation Python, créé en 1989, et ses caractéristiques principales telles que sa gratuité, son interprétation et son orientation objet. Il décrit également l'environnement de développement Thonny, des exemples de commandes Python, ainsi que des exercices pratiques pour apprendre à programmer en Python. Enfin, il aborde la structure des scripts Python et les types de données, tout en proposant des exercices pour renforcer la compréhension des concepts.

Transféré par

kiryotaa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues11 pages

Base Python

Le document présente une introduction au langage de programmation Python, créé en 1989, et ses caractéristiques principales telles que sa gratuité, son interprétation et son orientation objet. Il décrit également l'environnement de développement Thonny, des exemples de commandes Python, ainsi que des exercices pratiques pour apprendre à programmer en Python. Enfin, il aborde la structure des scripts Python et les types de données, tout en proposant des exercices pour renforcer la compréhension des concepts.

Transféré par

kiryotaa
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
ot Numérique et Sciences informatiques Les bases de Python | ACTIVITES DE PROGRAMMATION 1 Introduction Le langage de programmation Python 2 été cr&é en 1989 par Guido van Rossum, aux Pays-Bas. Lenom Python vient d'un hommage & la série télévisée Monty Python's Flying Circus dont G. van Rossum est fan. La premiére version publique de ce langage a été publiée en 1981. La derniére version de Python est a version 3, plus précisémentla version uia été publiée endacewbe (voir [Link]). =\o-t 2024 La Python Software Foundation est association qu organise le développement de Python et anime la communauté de développeurs et dutiisateurs. Ce langage de programmation présente de nombreuses caractérstiques Intéressantes ‘© \Lestifiutiplatetorme: c'est-3-dire qu'llfonctionne sur de nombreux systémes é'exploitation : Windows, Mac OS X, Linux, Android, iOS, depuis les mini-ordinateurs Raspberry Pl Jusqu’aux supercalculateurs. !Vestgratuit: Vous pouver installer sur autant d'ordinateurs que vous voulez (méme sur votre téléphone I) lest un langage dethautiniveau. II demande relativement peu de connaissance sur le fonctionnement d'un ordinateur pour tre utilisé ‘+ Cest un langage-interprété: Un script Python n'a pas besoin d'étre compilé pour tre exécuté, contrairement & des langages comme le Cou le C++. * - llestorientéobjet. Cest-3cire quill est possible de concevoir en Python des entités avec un certain nombre de ragles de fonetionnement et dinteractions. © ILest elativementsimpie & prendre en main. Toutes ces caractéristiques font que Python est désormais enseigné dans de nombreuses formations, depuis 'enseignement secondaire jusqu'a lenseignement supérieur. 2. Distribution Thonny Thonny est un environnement de développement intégré pour Python congu pour les débutants. II comporte un éciteur de programmes, des modules et d'autres utilitaires. ensemble permet d’écrre, de tester et de mettre au point les programmes écrts en langage Python, nowy cosmo : £ t © La fenétre qui porte le nom de Shell est la console dans laquelle on peut saisir directement des commandes et obtenirle résultat de l'nterprétation de ces commandes Les trois signes >>> représentent'invice de commande, cest donc la que on saisi es commandes que l'on souhalte exéeuter. © Lafenétre qui porte 1e nom de Variables permet de visuaiser la valeur affectée aux variables utilisées. © Cotte fenétre permet de saisr plusieurs commandes successives, 'est-A-dire un seript que 'on exéeutera en une fois ~PaseL Un shell est un interpréteur de commandes permettant d'interagir avec ordinateur. On utilsera le shell pour exécuter un script trés ‘court en Python. Un shell posséde toujours une invite de commande, clest&-cire un « symbole » qui saffiche avant I'endroit ot on centre des commandes. Ic), cette invite est représentée par le symbole >>> Par exemple, sion vous demande de lancer instruction suivante; >>> print("Bonjour") [SSS |i faucra taper seulement print( Bonjour") sans le >>> ni 'espace apres le >>>, puis actionner la touche « Entrée » pour valider la commande et 'exécuter. >>> print(“Bonjour") Bonjour ou »| 1a eo i i osc ti sri Dans la console, saisir les commandes cl-lessous, indiquer le résultat obtenu, conclure sur I'opération effectuée Commande sir Résultat obtenu Opérationréalsée me 35 allitian a 23> 7-4 | 3 seuckertiaan - > 34 Vb mu thy Geodtian 3o> 23/3 67,7 aivisnen / aes Ww dlunsven Ose res >» BiB 20 Reste oe fa chvision /> >> 284 | Gaposalt ou puosemea TF >>> 743%4. 1% mulligeater proritare suc [Link] eo oa Yo |mlhplicalien prontarre sur additun uation de () D>» abs(-3.2) 3.) Valour absolve abs () 3» Fomnd(3. 44) 5 artond & Pender inféneur sn parke cs meh (05 >>> reund(3.54) 4 wtonclt & Femtier supérieur s+ pale décimale ¥ = 0-45 >> round(3.57,1) oe: lartonch clunombre x. avec n dévimate (>) >>> round(23/3,5) 47 lasioock che nombre x avee n décamele (s) y>> 1080°2.26-3 412 |Corespond & Peciiture cu nombre Xs lo 7” >>> pow(2,20) 1024 |eouresprd & Pécnture clenombe x" (comme Xf") Les lignes ci-dessous uilsent des variables a et bauaquelles on affecte une valgur qu reste en mémoire nee NS) _| Aeration tune voabe ri % Taloiabraren = 50st Yetantles |p mémeer e b> #245 4o les vabus damée add roat tousurs en nem 22 ai brates es?) (7255 | affectation simuitande de deux variables o> print(ra + b = “,arb) pet 1'75° [Rest lotvon dau la censsk d'un texte ef d'une vesfeur PAGE? - Lorsque l'on doit écrire plusieurs commandes successives, un programme par exemple, on 2 recours a I'éditeur qui permet en outre de sauvegarder ensemble de la sais. Créer un nouveau fichier «Fichier» «Nouveau » pus @Fichier» ——_« Enregistrer » Le nommer [Link] en le sauvegardant dans un dossier h:\NSI\Python que vous aurez créé préalablement. SaisirFintégralité du programme proposé ci-dessous. Les commentaires ne sont pas en option !!! ® membre = Setting "Entrez on robre enter conoris entre et 188 = “)) prive(-te nosore’yrantre,"est pele“) 1 PS espe te rasere*snmace, “est sie) instruction if impose un bloc dindentation =a ligne d'instruction qui suit est décalée. ier I peut y avoir plusieurs indentations, ce qui permet de structurer le programme. dai Le schéma ci-contre en résume le principe. i ei Tester et valider le fonctionnement de votre programme avec plusieurs valeurs numériques. ie) Que se passe-til sil’on saisit du texte ? input() Demander une valeur & l'utilisateur et V’affecter 3 une variable a : ‘Toute entrée donnée avec instruction input est une chaine de caractéres Sion veut que 2 contienne un nombre entier, on utilise nput ("texte") of “texte est faculatit = int(input( rexte")) Sion veut que 2 contienne un nombre rée!(flottant), on utilise a = float(input("texte")) Sion veut que @ contienne un nombre sans préciser le type, on utilise a = eval(input(“texte")) if .. else if condition: Instruction2 si condition vérifée (une instruction par ligne) Instruction? si condition vérifiée else: Instruction3 si condition non vérifiée (une instruction par ligne) ir as oublier les «la fin ds lignes if et ote indentation est obligatoire, le retour au bord indique a sortie dui ou duelse | Test digalité 2 \ Testdenon égalité: al | ests de comparalon: ach aceS aS a Pusieurs conditions possibies avec les opérateurs booléensor ou) et and et): 25. and ac10 Ecrre un programme [Link] qui vous demande votre prénom et votre ge puis qui vous affiche un message pour vous saluer et ‘vous indiquer s vous tes mineur ou majeur. Ajouter ensuite une phrase qui vous indique depuis combien d’années vous &tes majeur cu combien d'années attendre avant de le devenie Page 3 - 5 Ecriture de scripts cor Véditeur 1 faut prendre de bonnes habitudes de structuration des scripts ds le départ: avec Python, nous allons créer des fonctions qul ‘ermettent 'exécution d'une ou plusieurs tiches. es fonctions sont définies au début du fichier py et on les appellera& partir d'un programme principal (main) qul sera défini plus bas dans le fichier. La structure d’un programme complet ressemblera & quelque chose comme ¢a = emetesesstor 2 from bibliotheque import * © def fonction4(): 5 **" Docunentation sur 1a fonction 1°" > return ® © def fonction2(argument1,argument2): 8 “** Documentation sur Ja fonction 2 """ na mt 53 return variable ” 26 def main(): 47 **" Documentation sur Ia fonction main “*" i 38 fonctiona() = . 2 T= Fonction2(x,¥) 23 me ’ _ 25 Af _name_. 26 “wain() Explications sur la fonction main : Vastuce consiste 8 utiliser la variable __name__ qui est une variable automatiquement créée par Python, toujours disponible, rfimporte cil, dans tous les scripts. Cette variable contient le nom du script courant. Ainsl, Cans n’importe quel code, on peut vérifier on est. C’est utile lorsque l'on importe d/autres scripts dans le script que l'on écrit (comme 8 la ligne 2) Sile script est le script principal, alors_name__ne contient pas le nom du scrip, il contient la chaine_main__ Les lignes 25 et 26 disent : Si ce cade est exécuté en tant que script principal, appelé directement avec Python et pas importé, alors cexécuter cette fonction main. Exercice 2 Ecrice, en respectant la structure présentée ci-dessus un programme [Link] qui vous demande deux nombres puis qut vous affiche un message pour vous indiquer lequel est le plus grand des deux. eo Veuillez saisir un premier nombre SVP : 12.4568 | Veuillez salais sn Second noehee QVE_: 75.1286 Le plas grana acsbre saist est 15.1256 (On utilisera une fonction plus_srand{nombre1,nombre2) qui sera appelée dans la fonction main ase 4 - 6 Les types jables ‘Avec Python, le programmeur ne déclare pas le type des variables & utiliser. La déclaration peut se faire Implicitement lorsque l'on affecte une valeur la variable, Les quatre types de base sont les suivants, * bool booléen (True ou False) © int nombre entier = float nombre réel ou flottant © str chaine de caractars (string) Siun traitement nécessite un changement de type, Python peut Ieffecuer dans certaines mesures (parfois, une erreur se produit) {tout moment, on peut abtenir le type d'une variable var en salsissant dans la console type(var) Saisir dans la console les commandes suivantes,consigner le résultat obtenu et conclure. >>> type(b) >>> bsint(b) >>> b >>> type(b) hc lass (es TE Commande @ salsir Résultat obtenu Explication ou conelusion eons << das ‘int’ > La variable a est un entier >>> be3.14 5 Peak 5 HILT ol (lass *feP OL Samah b okun fleHant (reef) 35> c=(acb) es \ bool arc (elas ce et un booleen >>> type(c) >>> c=(a>b) False "y ble d I d4 > € class ool er dears possibles cl uit Heoteens Son! Jat Se ates (class ley ceux vadeus Fessible Jj tebe >>> d="bonjour™ Clas At 7 >>> type(d) boon yey doo dele | ban eee bavaar” >» d am (dass AF >>> type (a! ‘ 4 >>> asae.d ( (qaat'y >>> type(a) iets >>> be3.14 m1, >>> a=3 >>> type(a) >>> a=float(a) >>> a >>> type(a) >>> d=6.35, >>> type(d) >>> s="Valeur de d = “+repr(d) s | >>> type(s) > s="1628" >>> type(s) >>> asint(s) |ooa >>> type(a) Gelass.‘flest ? >>> @=3 >>> bed >>> c=(ae=b) >>> € >>> type(e) >>> beb-1 >>> ca(aneb) >>> € >>> cact2 39> type(c) [ue (dass at oh Q=2b La compivaison se ate aver chu signes (42 77 THRE, be > lan seul signe cox ve acl a ofc tun call Pace 5 Exercice 3 Ecrire dans éditeur un script Caleuls py de six ligne: 1. quiaffecte un nombre 8 une variable x - 2. qui ajoute 7 au triple du nombre donné 3. qui multiplie le résuttat par le nombre donné 4, qui soustrait au résultat le nomiore donné 5. quiaffiche le résultat obtenu (class 6. quiaffiche le type du résultat obtenu Conseils: Créer le minimum de variables. Tester avec un nombre enti, puis avec un nombre réel wee “y x y Caleuler y= ffx) pour que I"équation tienne sur une seule ligne Ajouter la suite de votre script, dans le main, la ligne c-contre et une seconde ligne qui affiche la valeur de 2. Exécuter le script pour x=5.2, que constatez-vous ? 1# fonction obtenue pour y Exercice 4 : Ecrire dans éditeur un script [Link] qui vous demande & quelle altitude h vous 6tes (en métres) puls qui calcule et affiche dans tune phrase Vintensité de la pesanteur g avec son unité. Gx mrerre Crarre th)? 4 (G esta constante universelle de gravitation) ‘ee On rappelle que g = G=6.674x10 USI rae = 50x 10" kg Quelle est Laitituce, en mitres, 4 laquelle vous vous trouver 7 67 En valeur de g 4 lvaltivude de 67 matres est 5.044 m/s"? Conseil : pour obtenir un format d’affichage lisible de la valeur de g, vous utliserer la commande adéquate, def maint) Calcul de la pesanteur en fonction de Faltitude " altitude = Terre PAGE 6 - Exercice 5 Ecrire dans éciteur un script [Link] ‘© quivous demande la base d'origine du nombre & convertir (2 ou 16) ‘+ quivous demande un nombre binaire ou hexadécimal 8 convertir © quieffectue ia conversion en base 10 de ce nombre Vous écrirez deux fonctions TwoTaTen(nombreBincire) et HexToTen(nombreHexadecimal) ‘Vous appellerez une ou l'autre selon le choix fat par utilisateur ‘Avant d’écrire le script, essayer dans la console les commands proposées ci-dessous : >>> int(“zeieeaee", base=2) ) >>> int("Fe", bas Lastructure du script est donnée ci-dessous, complétez les sixlignes manquantes. Saisirle script et vader le fonctionnement. def TwoToTen(nombreBinaire): convertit la chatne nombreBingire en un nombre en base 18 *" return nombreDecimal def HexToTen(nombreHexadecimal): """ convertit La chaine nombreHexadecimal en un nombre en base 18 "*" return nonbreDecimal def main( "*" Benande La base d'origine du nonbre @ convertir (2 ou 16) Demande Le nombre binaire ou hexadécimal a convertir Effectue La conversion en base 19 du nombre saist """ maBase = _ _ nombre = if maBase resultat=TwoToTen( nombre) # appel. de La fonction de conversion resultat=HexToTen(nonbre) # appel de La fonctton de conversion els! print("Tu dois choisin uniquement la base 2 ou la base 16 |") if _name_=='__main_': main() Question : Aurions-nous pu simplifier le script en utilisant une seule fonction de conversion ? 7 Opérations sur les chaines de caractéres Les types bool, int et float sont des types simples. Le type strest un type simple particulier, chaque caractére de la chaine a un indice propre qui permet d’accéder directement & sa valeur (voir exemples ci-dessous). ‘Avec Python, le programmeur déciare une chaine de caractéres entre guillemets ou entre deux apostroghes. Python est sensible & la casse, il distingue les minuscules et les majuscules. ‘Commande & saisir Résultat obtenu Explication ou conclusion >>> prenom="sean™ . >>> prenon | Seon Affectation d'une variable de type chaine >>> hom = "Dupont™ | 2a es [© Dupant |_| Affecation tune variable de type caine >>> prenontnom “Sean Dupent' | +Canutenahen de chaines de caaclire >>> print(prenon,non) Sean Dupont — [le gant que un enpuce entre chaque variable| >>> print (prenom+nom) DeanDopet ff riya pas d ‘xpee $1 0n ceoncaléie hue Heednes ob se trouve l’université 7" [trove >>> phrase >>> prine(orenane’ “+008) [Samm Dopast |Dn dal ayer [expace >>> Ten(non) )/ov< 0 € tent fonsueue de fk chine ok cacucléra (bry) De ophrase="Banjour, Sopot, a oe 2} Affectation d'une variable de type chaine neltedle >>> phrase[@] ae = Homer carcclere ch a Ghaine sreenieeate ‘o° H = Dowriime caactive cle la hire >>> phrase[3:7] "Your ! tn n= che mn carcechere (ni) csrabive eee 2 =A Dernier cuculie ch & dhtine >>> phnase[ -12:] vaivestér” — [Dewae chemer caraclor oh fh thai prea a i sates Cumvohs Caine ple oh Sm D prrnvies canactiles o> dates Aujourd\ "hal 7 ° >>> date Nuyoar cd “hut \\_ estle caractére d’échappement spine honenyy | Dupont slower esa méthode gu ae tous scarce de aad peacti DUPONT * Supper() est la méthode qui place tous les caractéres de Ie chaines en >>> [Link](12, Dap? scenter(ncar) est la méthode qui permet de >>> phrase=' Bonjour, oli se trouve Ouagadougou ?* Bonen, ut se teseve ‘Affectation d'une variable de type chaine >>> [Link]('o",'i") | tiuve boo. phrase Ouaacaugen >>> [Link](‘ou") 4 ‘[Link](sub) est la méthode qui permet de_ UBijior yh se Overy? [Link](old,new) est la méthode qui permet de PAGES 8 Structures itératives : les boucles Lorsque fon doit répéter un traitement plusieurs fois, on a recours & une structure algorithmique appelée « boucle » 8.1 LES BOUCLES CONDITIONNELLES La structure est while condition : instruction1 instruction2 La condition est une expression dont la valeur interprétée est True ou False Tant que la condition est vérifiée (True), les instructions sont exécutées. Au moins 'une de ces instructions modifie une variable qui va amener la condition a ne plus étre vérifiée (False) aprés un nombre d'itérations sinon on ne sort plus de la boucle. Exercice 6 Saisicet compiéter le script [Link] donné ci-dessous, on veut obtenit, aprés saisi de deux entiers Iaffichage sulvant : Neuliles saisir on Secons nossee” sv? = 10 H2 Elas peel soauee cadet oot def plus_grand(nombre1, nonbre2): Gétermine quel est le plus grand nombre et 1'affecte a 1a variable détermine quel est le plus petit nombre et 1'affecte 3 1a variable min" if nombret > nonbre2: maxi = mini = else: maxi = return maxi,mini def main(’ * Demande de saisir deux nonbres entiers Affiche le plus grand et le plus petit Affiche le nombre de fois que l'un contient l'autre et le reste’ q=@ # initialisation du quotient x = int(input( # demande un premier entier y = int(input( # demande un second entier a,b = plus_grand( # appel de la fonction print(" # affiche le plus grand des deux nombres print(” # affiche le plus petit des deux nombres saisis ainitial = ® Sauvogarde 2 avant les traitements sia est plus grand que b ou égal 8b on retranche ba a incrémente le quotient de 1 # affiche les résultats “PAGES - 8.2 LES BOUCLES NON CONDITIONNELLES Une boucle non conditionnelle permet de répéter un nombre de fois connu un bloc instructions. La structure est “for i in range(n) instruction instruction2 La variable i est créée, elle va prendre successivement les valeurs 0, 1, 2,3, .., m1 Les instructions serant donc exécutées n fois, Exercice : Tester avec la console cu avec un petit script les instructions sulvantes, consigner les résultats obtenus : instruction Séquence des nombres obtenus range(5) 01234 range(3,8) > 456 F range(2,12,3) 4.5 45 range(20,5,-5) qo-1S- 1O7 La syntaxe compte est range(d, #,p) quirenvoie la séquence des entiers ded inclu &f exclu avec un pas égal&p Avec def et p>O oubien d>f et p<0 par défaut d=0 et . >o> for Lettre an “Bonjour: * Remarque : La boucle for peut éte utilise avec une liste ou une chaine de caractéres. rint(25'* Lettre) Tester le script suivant >>> for lettre in "Bonjour": svsnoonanaosssnssszsunes print(25 * lettre) Exercice 7 Ecrire dans Véditeur un script [Link] 2 puissance 0 = 1 2 puissance 1 = 2 + quipermet 'afcher la valeur des puissances de 2 de 2°82" 2 puissance 2 = 4 “Yous présenterer is résultats sous la forme présentée c-contre E eee Ot f 2 puissance 5 = 32 Joe in ange, A 2 puissance 6 = 64 2 puissance 7 = 128 2 puissance 3 ~ 25¢ Python supporte le formatage de valeurs en chines de caractbres, usage le plus simple consiste & insérer des valeurs dans des chaines & aide de marques %s. Modifier votre programme pour utiliser la ligne print() proposée ci-dessous = etn he tO BEY Ben ce puissance 11 -print ("2 puissance Xs = Xs" %(n,puissance)) .. Pour aller plus loin: Utliser la fonction len() pour formater V'afichage des valeurs et ies [7 aligner verticalement comme présenté ci-contre : 2 2 puissarce 16 ance 1 2 puissance 20 = 164857 Vous devrez insérer un nombre d’espaces ié la longueur des nombres n et 2° page 10 - for n in range(2a) puissance = 2*n JongueurExposant = len(str(n)) espacel = (2-longueuréxposant)*” Jongueurkesultat = len(str(puissance)) espace2 = (7-longueurResultat)*” " print ("2 puissancess %s =s %s" X(espacet,n, espace2, puissance)) 2 puissance 0 = 1 2 puissance 1 = 2 2 puissance a 2 puissance 8 2 puissance 16 2 puissance 2 2 puissance 64 2 puissance 128 2 puissance 256 2 puissance 312 2 puissance 3024 2 puissance 2088 2 puissance 4996 2 puissance 13 = 8192 2 puissance 14 = 16384 2 puissance 15 = 32768 2 puissance 16 = 65536 2 puissance 17 = 131072 2 puissance 18 = 262148 2 puissance 19 = 524288 2 puissance 20 = 1048576 >>> Pace Ll -

Vous aimerez peut-être aussi