Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022

La page est créée Annick Royer
 
CONTINUER À LIRE
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
Introduction à l’algorithmique
      et à la programmation
            en Python 3

Picchione Serge           AMOS / 2021-2022
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
Vous pouvez télécharger ce document au format PDF à l’adresse suivante :

      https://www.sismondi.ch/disciplines/applications-des-mathematiques/cours-eleves

Picchione Serge                                                        AMOS / 2021-2022
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
Table des matières

1.1 Avant-propos                                                      1

1.2 Algorithmes et programmes                                         2

1.3 Programmation en Python 3                                         6
       1.3.1 Présentation de Python 3                                 6

       1.3.2 Installation de Python 3                                 6

       1.3.3 Interface Python 3 : zone de script et console           7

       1.3.4 Types de données : stockage et affichage                 8

       1.3.5 Instructions conditionnelles                             19

       1.3.6 Instructions répétitives                                 25

       1.3.7 Fonctions                                                32

       1.3.8 Modules                                                  40

       1.3.9 Chaines de caractères                                    44

       1.3.10 Listes                                                  50

       1.3.11 Graphismes                                              57

1.4 Corrections des activités et exercices                            65

1.5 Schémas et résumés

Picchione Serge                                               AMOS / 2021-2022
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
Picchione Serge   AMOS / 2021-2022
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
1.1 Avant-propos
• Ce chapitre d'introduction à l'algorithmique et à la programmation en Python 3 s'adresse à un
 publique scientifique, plus particulièrement aux élèves qui suivent au Collège de Genève
 les cours d'options spécifiques en application des Mathématiques : 3AMOS et 4AMOS.

 Aucun prérequis n'est nécessaire en algorithmique ou en programmation avec Python 3 à part
 peut-être une certaine ouverture d'esprit et une forme avancée de plasticité neuronale !

 Des prérequis en Mathématiques niveau 1e et 2e du Collège de Genève sont les bienvenus.

• L'objectif de cette introduction est de former rapidement et rigoureusement les élèves suivants
  un cours de 3AM OS et 4AM OS aux rudiments de programmation en Python 3.

 Lorsque nous traiterons par la suite des sujets spécifiques à l'application des Mathématiques
 comme la cryptographie, l'analyse numérique, les statistiques, etc. les élèves pourront comprendre
 plus facilement les algorithmes présentés, les programmer en langage Python 3 et aussi les
 modifier afin d'obtenir les résultats escomptés dans le cadre du cours.

• Informations pour les enseignants :

 Les exemples et les exercices de ce chapitre d'introduction ont été sélectionnés et choisis dans
 le but d'introduire des concepts qui serviront aux élèves lorsque les chapitres suivant seront
 abordés : cryptographie classique (clés privées et publiques) et méthodes itératives en analyse
 numérique.

 En particulier, le sous-chapitre 1.3.9 Chaînes de caractères et 1.3.10 Listes sont conseillés
 si l'on veut aborder avec sérénité la programmation d'algorithmes en cryptographie.
 Le sous-chapitre 1.3.10 Listes est aussi conseillé si l'on désire écrire des programmes permettant
 de résoudre numériquement des systèmes d'équations linéaires en analyse numérique.

________________________________________________________________________________
P.S. 2021-2022                          1               Programmation en Python 3 /AMOS
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
1.2 Algorithmes et programmes
Exemple
Une piscine municipale propose deux tarifs : • Tarif 1 : Une entrée : 3 €.
                                             • Tarif 2 : Abonnement annuel 9 €, puis 1 € l'entrée.
Commençons par un problème simple : demander le nombre d'entrées et afficher s'il est
préférable de choisir le premier ou le second tarif.

Voici son algorithme :
Partie 1) Le stockage des données (en gras).
Il s'agit de repérer et de stocker les données nécessaires à la résolution du problème.
  DEMANDER un entier n
  p1 ← n ⋅ 3
  p2 ← 9 + n ⋅ 1
  SI p1 < p2 ALORS
    AFFICHER " Le tarif 1 est plus avantageux"
  SINON
    AFFICHER " Le tarif 2 est plus avantageux"
  FIN SI

Partie 2) Le traitement (en gras).
Il s'agit de déterminer toutes les « instructions » à donner pour automatiser la résolution du
problème et obtenir les résultats attendus.
  DEMANDER un entier n
  p1 ← n ⋅ 3
   p2 ← 9 + n ⋅ 1
  SI p1 < p2 ALORS
     AFFICHER " Le tarif 1 est plus avantageux"
  SINON
     AFFICHER " Le tarif 2 est plus avantageux"
  FIN SI

Partie 3) La sortie des résultats (en gras).
Les résultats obtenus peuvent être affichés sur un écran (nombres, textes, graphiques).
  DEMANDER un entier n
  p1 ← n ⋅ 3
   p2 ← 9 + n ⋅ 1
  SI p1 < p2 ALORS
     AFFICHER "Le tarif 1 est plus avantageux"
  SINON
     AFFICHER "Le tarif 2 est plus avantageux"
  FIN SI

________________________________________________________________________________
P.S. 2021-2022                          2               Programmation en Python 3 /AMOS
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
Définition d'un algorithme

Un algorithme est :             • une suite finie de règles à appliquer,
                                • dans un ordre déterminé,
                                • à un nombre fini de données,
                                • se terminant (i.e., arriver, en un nombre fini d’étapes, à un résultat,
                                  et ce quelque soit les données traitées).

Autre définition :              Un algorithme est une suite finie d'opérations élémentaires constituant
                                un schéma de calcul ou de résolution d'un problème donné.

L'algorithmique désigne l'ensemble des règles et des techniques qui sont impliquées dans la
définition et la conception des algorithmes.

Un peu d'histoire
Les algorithmes, dont on a retrouvé des descriptions exhaustives, ont été
utilisés dès l’époque des Babyloniens (env. 1500 av. J-C.) pour des calculs
concernant le commerce et les impôts. L’algorithme le plus célèbre est celui
qui se trouve dans le livre 7 des Éléments d’Euclide. Il permet de trouver le
plus grand diviseur commun, ou PGDC, de deux nombres (env. 300 av. J-C.).
L’algorithmique a été systématisée par le mathématicien perse Al Khuwarizmi,
auteur d’un ouvrage (souvent traduit par l’algèbre et le balancement) qui décrit
des méthodes de calculs algébriques.

Les conventions d'écriture d'un algorithme
Il y a deux types de conventions.
1) L'algorithme graphique ou organigramme.

                              Demander : n

                                                             Faux

                                                         Afficher :
                                      Vrai               "Le tarif 2 est le plus avantageux"

                 Afficher :
                 "Le tarif 1 est le plus avantageux"

Il s'agit d'une représentation graphique comportant des symboles de traitement et de test
(rectangles, losanges, etc.) reliés entre eux par des lignes de liaison indiquant le flux des contrôles.
Une norme ISO a été développée. Elle décrit en détails les différents symboles à utiliser pour
représenter un algorithme informatique de manière normalisée.

________________________________________________________________________________
P.S. 2021-2022                          3               Programmation en Python 3 /AMOS
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
2) L'algorithme textuel ou pseudo-code.

                          DEMANDER un entier n
                          p1 ← n ⋅ 3
                          p2 ← 9 + n ⋅ 1
                          SI p1 < p2 ALORS
                            AFFICHER " Le tarif 1 est plus avantageux"
                          SINON
                            AFFICHER " Le tarif 2 est plus avantageux"
                          FIN SI

Le pseudo-code est une façon de décrire un algorithme sans référence à un langage
de programmation en particulier. Il ressemble cependant à un langage de programmation
authentique mais dont on aurait retiré la plupart des problèmes de syntaxe.

Un algorithme puis un programme

• Un algorithme n'est pas un programme. Un algorithme résout un problème donné
  indépendamment des particularités du langage de programmation.
• Un programme est la réalisation (l'implémentation) d'un algorithme au moyen d'un langage
  donné (Visual Basic, C++, Scilab, Python, Fortran, etc.). Il s'agit de la mise en œuvre de
  l'ensemble des instructions. Par exemple, lors de la programmation il faut définir le format des
  variables utilisées, ce qui est un problème d'implémentation ignoré au niveau de l'algorithme.
• Le « code source », désigne le texte, en langage de programmation, constituant le programme.

Exemple
Notre précédent algorithme peut se traduire dans le langage de programmation
Python 3 et nous obtenons le programme suivant :

 n = eval (input( "Nombre d'entrées : "))
 p1 = 3 * n
 p2 = 9 + n
 if p1 < p2 :
         print( "Le tarif 1 est plus avantageux")
 else :
         print( "Le tarif 2 est plus avantageux")

Remarque
La majorité des algorithmes présentés dans ce cours seront écrits soit en pseudo-code soit
directement traduit dans le langage de programmation Python 3. Ce choix découle du fait que
lorsque l'algorithme possède de nombreuses instructions il est plus aisé et plus compact de l'écrire
en pseudo-code qu'à l'aide d'un organigramme.

________________________________________________________________________________
P.S. 2021-2022                          4               Programmation en Python 3 /AMOS
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
En résumé

 Un algorithme est indépendant du langage de programmation dans lequel on va l’exprimer
 et de l’ordinateur utilisé pour le faire tourner. C’est une description abstraite des étapes
 conduisant à la solution d’un problème.

 Algorithme = partie conceptuelle d’un programme
              (indépendante du langage)

 Programme = implémentation (i.e., réalisation) de l’algorithme,
             dans un langage de programmation et sur un système
             particulier.

Des programmes puis un logiciel

Un ordinateur est composé de matériel (hardware) et de logiciels (software). Sans logiciel
l'ordinateur ne fait rien parce qu'il n'a pas reçu les instructions lui indiquant ce qu'il doit faire.
Les logiciels sont composés de programmes informatiques, qui indiquent à l'ordinateur comment
effectuer les tâches. Les logiciels déterminent les tâches qu'un appareil informatique peut effectuer.
Alors qu'à la vente d'un appareil informatique, l'accent est souvent mis sur le matériel informatique,
c'est avant tout les logiciels qui donnent à l'ordinateur sa valeur ajoutée.
Logiciel n'est donc pas synonyme de programme informatique. Un logiciel est un ensemble
typiquement composé de plusieurs programmes, ainsi que tout le nécessaire pour les rendre
opérationnels : fichiers de configuration, images bitmaps, procédures automatiques.
Les deux principales catégories de logiciels sont les logiciels applicatifs et les logiciels de système.
Le logiciel applicatif est destiné à aider les usagers à effectuer une certaine tâche, et le logiciel de
système est destiné à effectuer des opérations en rapport avec l'appareil informatique.
Le logiciel le plus important est le système d'exploitation : il sert à manipuler le matériel
informatique, diriger les autres logiciels, organiser les fichiers, et faire l'interface avec l'utilisateur.
Les logiciels disponibles dans le commerce sont toujours destinés à être utilisés avec un ou
plusieurs systèmes d'exploitation donnés.

Exemple de logiciels

                                                         Photoshop (Adobe)
                                                         Logiciel de retouche d’image.

                                                         Writer (Suite LibreOffice)
                                                         Traitement de texte gratuit.

                                                         Chrome (Google)
                                                         Navigateur Web.

                                                         Excel (Microsoft)
                                                         Tableur.

________________________________________________________________________________
P.S. 2021-2022                          5               Programmation en Python 3 /AMOS
Introduction à l'algorithmique et à la programmation en Python 3 - AMOS / 2021-2022
1.3 Programmation en Python 3
 1.3.1 Présentation de Python 3

Python 3 est un langage informatique de haut niveau : c'est une suite d'instructions données par
l'homme à l'ordinateur pour qu'il exécute certaines tâches.
Parmi les nombreux avantages de ce langage, on peut citer :
• Un langage libre et gratuit.
• Un langage multiplateforme, c'est-à-dire que les programmes que vous allez réaliser pourront
  tout aussi bien s' exécuter sous Windows, Mac ou Linux.
• Un langage simple et cependant puissant et rapide.
 Il est simple à apprendre, car intuitif. Par exemple, pour que l'ordinateur sache que l'on veut créer
 une variable nombre contenant la valeur 2, il suffit d'écrire :
    nombre = 2

 alors qu'en C et C++ , par exemple, il faut préciser que la variable nombre est un entier (int) avant
 de pouvoir lui donner la valeur 2 :
    int nombre ;
    nombre = 2 ;

 Python est un langage de haut niveau. Cela signifie qu'il est plus proche du langage humain (ici,
 de l'anglais, malgré les apparences) que d'autres langages, et notamment le langage binaire, que lit
 directement l'ordinateur. La traduction de nombre = 2 (Python) en binaire devrait en effet donner
 quelque chose comme : 100101101...0011101001

• Un langage qui possède de nombreuses bibliothèques mathématiques très évoluées dans de
  multiples domaines (traitement de l'image, analyse de Fourier, calcul numérique ... ) et qui
  permettent ainsi de réaliser facilement de nombreux programmes assez pointus.
• Python est un langage de programmation en constante évolution. Il est à l'heure actuelle, en
  2019 dans sa version 3.6.

 1.3.2 Installation de Python 3

Adresses internet pour le téléchargement

https://www.python.org/

https://edupython.tuxfamily.org/                     avec l'éditeur : PyScripter

https://www.anaconda.com/download/                    avec l'éditeur : Spyder

Remarque : Un éditeur de texte est un logiciel destiné à la création et l'édition de fichiers textes.

Important : Télécharger la version Python 3.x et non la version Python 2.x .

________________________________________________________________________________
P.S. 2021-2022                          6               Programmation en Python 3 /AMOS
1.3.3 Interface Python : zone de script et console

Interface de la distribution Anaconda/Python

Le logiciel Spyder      fait office d'éditeur de texte pour Anaconda/Python.
Cette interface est découpée en plusieurs zones, en particulier :
• La zone de script qui permet d'écrire/saisir des programmes et de les exécuter ensuite.
• La console ou s'afficheront les résultats des programmes.

Après avoir exécuter Spyder        on obtient la fenêtre suivante : (copie d'écran)

              Zone de script

                                                                       Console

Remarque : Cet affichage permet de s'assurer que la console est correctement configurée.

Conclusion

 • En Python 3, on écrit un programme dans la zone de script.
 • Pour afficher le(s) résultat(s) du programme on l’exécute et on regarde dans la console.
 • Dans certaines situations, on peut aussi écrire directement dans la console certaines
   instructions. Nous verrons dans ce cours, que la console Python peut être utilisée comme
   une calculatrice scientifique.

Commandes utiles dans Spyder pour l’affichage dans la zone de script et la console :
Agrandissement du texte : Ctrl + +                   Réduction du texte : Ctrl + −

________________________________________________________________________________
P.S. 2021-2022                          7               Programmation en Python 3 /AMOS
1.3.4 Types de données : stockage et affichage

• En Python 3, on écrit un programme dans la zone de script.
• Pour afficher le(s) résultat(s) du programme on l’exécute et on regarde dans la console.
• Dans Spyder, pour exécuter un programme on appuie sur la touche F 5 ou           .
• Dans certaines situations, on peut aussi écrire directement dans la console certaines
  instructions.

Exemple 01                     Nom du fichier : Exemple_donnees_01.py

# Calcul de l’aire d’un carré

Programme Python (zone de script)

 # Version 01
 cote=10
 aire=cote*cote
 aire

Entrée et/ou Sortie Python (console)
 Out :

Remarque : Il manque la commande print pour afficher le résultat désiré.

Programme Python (zone de script)

 # Version 02
 cote=10
 aire=cote*cote
 print(aire)

Entrée et/ou Sortie Python (console)
 Out : 100

Programme Python (zone de script)

 # Version 03
 cote=10
 aire=cote*cote
 print(cote,aire,sep="\t")

Entrée et/ou Sortie Python (console)

 Out : 10       100

________________________________________________________________________________
P.S. 2021-2022                          8               Programmation en Python 3 /AMOS
Programme Python (zone de script)

 # Version 04
 cote=10
 aire=cote*cote
 print("L'aire du carré de coté",cote,"est égal à",aire,".")

Entrée et/ou Sortie Python (console)

 Out : L'aire du carré de coté 10 est égal à 100 .

Remarque
Dans la commande print( ) on peut afficher des variables ; par exemple des nombres cote et aire
et des chaînes de caractères comme "L'aire du carré de coté" , "est égal à" et "." .
Il faut séparer ses différents objets par une virgule.

Programme Python (zone de script)

 # Version 05
 cote=eval(input("Entrer la valeur du coté d'un carré: "))
 aire=cote*cote
 print("L'aire du carré de coté",cote,"est égal à",aire,".")

Entrée et/ou Sortie Python (console)

 In : Entrer la valeur du coté d'un carré : 10
 Out : L'aire du carré de coté 10 est égal à 100 .

Remarque
v = input (txt) , affiche dans la console le texte txt dans lequel on entrera ce qui est demandé.
La réponse est alors affectée à la variable v sous forme d'une chaîne de caractères.

Remarques générales
a) Le symbole # (hashtag ou mot-dièse) permet d’écrire un commentaire dans un programme
   sans qu’il soit exécuté.

b) Le petit carré rouge    situé dans la zone console, permet d’interrompre la commande
  en cours. Autrement dit, cela stoppe l’exécution du programme.

c) Après avoir exécuté un programme et obtenu des résultats dans la console et avant
   d’exécuter un nouveau programme, on peut utiliser les commandes :
  • Redémarrer le noyau (Restart Kernel) qui a pour effet, entre autres, de réinitialiser
    la valeur prise par toutes les variables lors de l’exécution du dernier programme.
  • Effacer la console (Clear Console) qui a pour effet, d’effacer tout le texte affiché
    dans la console.

________________________________________________________________________________
P.S. 2021-2022                          9               Programmation en Python 3 /AMOS
Exemple 02                     Nom du fichier : Exemple_donnees_02.py

Programme Python (zone de script)

 a=2           # Type de donnée : entier
 b=3.5         # Type de donnée : flottant
 a=a+1
 b=a*b
 b=a
 a=a**3
 print("a=",a)
 print("b=",b)

Activité
a) Sans utiliser d’éditeur Python, compléter le tableau ci-dessous en indiquant la valeur des
   variables à chaque ligne du programme en précisant le type de donnée obtenu (entier ou flottant).

         Instructions                  a              Type                b              Type
 a=2
 b=3.5
 a=a+1
 b=a*b
 b=a
 a=a**3

b) Utiliser un éditeur Python pour écrire le programme du point a) dans la zone de script
   et obtenir la sortie dans la console.
  Le programme Python affiche en sortie dans la console :            a=
                                                                     b=
Que faire si un programme ne marche pas ?
Il y a plusieurs types d'erreurs.
• La cause peut-être une erreur de syntaxe (une faute de frappe) ou même un oubli : une parenthèse,
  une majuscule, une virgule au lieu d'un point, etc. L'éditeur nous renseigne en général sur l'erreur
  que nous commettons : à quelle ligne, le type d'erreur, etc.
  Comparer vos lignes de code qui ne fonctionnent pas avec celle d'un programme qui fonctionne.
• Si le programme ne vous donne pas les résultats escomptés, vous pouvez placer la commande
  print() à des endroits stratégiques pour observer la valeur des variables déclarées dans le
  programme.
• On peut aussi consulter Internet (avec forums ou tutos pour la plupart en anglais ... ) car l'erreur
  que vous avez faite a probablement été commise par quelqu'un d'autre, avant vous, et qui a la
  bonne idée d'en témoigner.
Les erreurs en programmation restent souvent une occasion de progresser. C'est à force de recopier
et de lire des lignes de programme, qu'on se forge une culture de la programmation et qu'on devient
soi-même un bon programmeur. Courage !

________________________________________________________________________________
P.S. 2021-2022                         10               Programmation en Python 3 /AMOS
Remarques sur les types de données

a) L'avantage d'utiliser un langage de programmation pour effectuer des calculs réside dans le fait
   de pouvoir stocker des données (informations) en mémoire. On peut, lorsque l'on réalise un
   programme, utiliser des variables pour stocker des valeurs. Le fait de donner un nom à un calcul,
   un texte ou un autre objet s'appelle l'affectation.

    En Python                                        Résultat après exécution
                                                     Stocke une donnée dans une variable qui porte
    nom_var = donnée
                                                     le nom : nom_var

b) Affichage de données
    En Python                                        Résultat après exécution
    print (données)                                  Affiche dans la console les données

c) Opérations usuelles sur les données de type nombres en Python 3 :

    Opération en Python                              Résultat après exécution

    a+b                                              addition

    a–b                                              soustraction

    a*b                                              multiplication

    a/b                                              division
                                                                                b
    a ** b                                           a puissance b : a
                                                     Quotient de la division euclidienne de a par b
    a // b
                                                     si a et b sont des entiers.
                                                     Reste de la division euclidienne de a par b
    a%b
                                                     si a et b sont des entiers.

  Théorème (division euclidienne)

       Soit a ∈  et b ∈  * .
       Il existe des entiers q et r ∈  tels que a = b ⋅ q + r avec 0 ≤ r < b
       De plus q et r sont uniques.

  Terminologie      q est le quotient et r le reste.

  Exemples
  i) Division euclidienne de 6789 par 34 : 6789
                                            = 34
                                                 ⋅ 199
                                                     + 23
                                                                                       avec 0 ≤ 
                                                                                                 23 < 34
                                                                                                      
                                                 a          b       q       r                     r       b

  ii) La division euclidienne de −17 par 3 est : −
                                                 17 = 3 ⋅ ( −6 ) + 1 avec 0 ≤ 
                                                                                 1
d) Les types de données en Python 3
   Il existe de nombreux types de données en Python ; en voici quelques-uns que nous allons
   régulièrement utiliser.

• Les nombres ; deux catégories :
 Les entiers, qui correspondent en Mathématiques aux entiers relatifs comme : 74 et -2 .
 Les flottants qui correspondent en Mathématiques aux nombres décimaux comme : 12.97
 et -14.0.

Programme Python (zone de script)                                Entrée et/ou Sortie Python (console)

 a=34
 print(a,type(a)) # type() : renseigne sur le type de données    Out : 34 

 b=7.8
 print(b,type(b))                                                Out : 7.8 

 c=a+b
 print(c,type(c))                                                Out : 41.8 

 d=int(a+b)               # int() : extraction d'un entier
 print(d,type(d))                                                Out : 41 

 e=float(a)               # float() : extraction d'un flottant
 print(e,type(e))                                                Out : 34.0 

• Les chaînes de caractères qui sont des successions de caractères encadrés par des guillemets,
  comme par exemple ´Ok !´ , ´456´ et ´Bonjour Gaëtan´ .

Programme Python (zone de script)                                       Entrée et/ou Sortie Python (console)

 nom1='bonjour'                                                           Out : bonjour 
 print(nom1,type(nom1))

 nom2='ciel'                                                              Out : ciel 
 print(nom2,type(nom2))

 nom3=nom1+3*nom2                                                         Out :
 print(nom3,type(nom3))                                                   bonjourcielcielciel 

 nom4='3+4'
 print(nom4,type(nom4))                                                   Out : 3+4 

 nom5=eval('3+4')       # eval() : transforme une chaine en nombre
 print(nom5,type(nom5))                                                   Out : 7 

 a,b=6,10
 nom6=str(a)+'+'+str(b) # str() : transforme un nombre en chaine          Out : 6+10 
 print(nom6,type(nom6))

Remarque : Les opérations + et * n’ont pas les mêmes effets selon qu’ils agissent sur des nombres
ou des chaînes. Le chapitre 1.3.9 donne plus de détails sur ce type de donnée et les opérations
définies sur ce type de donnée.

________________________________________________________________________________
P.S. 2021-2022                         12               Programmation en Python 3 /AMOS
• Les listes qui sont des regroupements de données délimitées par des crochets.
  Par exemple, [1.9,46 ," Anne",−24 ] est une liste de quatre éléments :
 le flottant 1.9, puis l'entier 46, puis la chaîne de caractères "Anne", et enfin l'entier -24.

Programme Python (zone de script)                              Entrée et/ou Sortie Python (console)

 L1=[ ]                 # L=[ ] : liste vide
 print(L1,type(L1))                                            Out : [ ] 

 L1.append("Marie") # L.append(e) : ajoute e a la fin de L
 print(L1,type(L1))                                            Out : ['Marie'] 

 L1.append(18)
 print(L1,type(L1))                                            Out : ['Marie',18] 

 L1.append(37.2)
 print(L1,type(L1))                                            Out : ['Marie',18,37.2] 

Remarque : le chapitre 1.3.10 donne plus de détails sur ce type de donnée et les opérations définies
sur ce type de donnée.

La commande type(donnée) nous renseigne sur le type de donnée / variable avec lequel on
travaille dans un programme Python.

Exercice 01
a) Sans utiliser d’éditeur Python, déterminer le résultat de chacun des « calculs » suivants en
   précisant son type (entier ou flottant).

                      Calculs                       Résultat                        Type de donnée
 1)      7 // 2
 2)      4%2
 3)      3.0 ** 3
 4)      – 5 // 2
 5)      5 ** 0 + 7
 6)      2 ** -2
 7)      -2 ** 10
 8)      1–5*2
 9)      5–3/–2
 10)     – 13 % 3
 11)     1345 % 10
 12)     1345 // 10 % 10
 13)     1345 // 100 % 10
 14)     1345 // 1000 % 10

b) Obtenir le résultat des « calculs » précédant en utilisant la console d’un éditeur Python.

________________________________________________________________________________
P.S. 2021-2022                         13               Programmation en Python 3 /AMOS
Exercice 02
Soit n un nombre entier positif. Sans utiliser d’éditeur Python, relier par une flèche les expressions
Python aux expressions françaises correspondantes :

 n +1            •                                 • Le chiffre des unités de n
 n %10           •                                 • Le chiffre des dizaines de n
 n / /10 %10 •                                     • L’entier précédant n
 n / /100%10 •                                     • Le double de n
 n** 2           •                                 • L’entier consécutif à n
 n−1             •                                 • Le chiffre des centaines de n
 n* 2            •                                 • Le carré de n

Remarque : Après avoir cherché les réponses, vous pouvez utiliser la console d’un éditeur
           Python pour évaluer les expressions Python.

Exercice 03

a) Sans utiliser d’éditeur Python et pour chaque programme :
• Créer un tableau ou apparaissent la valeur des variables à chaque ligne du programme en
  précisant le type de donnée obtenu (entier ou flottant).
• Quel est la sortie affichée dans la console après exécution du programme dans la zone de script ?

1) Programme (zone de script)                       2) Programme (zone de script)

                                                     x,y,z=1,2,3
 a,b=6,5
                                                     x,y=y,z
 a=a-b
                                                     y,z=z,x
 b,a=a+1,2*b
                                                     y=1/4*z
 b=b%3
                                                     z=x+y+z
 a=a-b//2+0.5
                                                     print("x=",x)
 print("a=",a)
                                                     print("y=",y)
 print("b=",b)
                                                     print("z=",z)

3) Programme (zone de script)                       4) Programme (zone de script)

 e=2                                                 res=5.0
 e=2**e                                              res=(res-1)/res
 e=2**e                                              res=10/res
 e=float(e)                                          res=int(res)
 print("e=",e)                                       print("res=",res)

b) Utiliser un éditeur Python pour écrire les programmes du point a) dans la zone de script
   et obtenir la sortie dans la console. Insérer la commande print(var,type(var)) aux endroits
   appropriés de vos programmes, pour obtenir la valeur et le type des variables var.
   Nom du fichier : Exercice_donnees_03.py

________________________________________________________________________________
P.S. 2021-2022                         14               Programmation en Python 3 /AMOS
Exercice 04

a) Sans utiliser d’éditeur Python, déterminer le résultat de chacun des « calculs » suivants en
   précisant son type (entier, flottant, chaîne de caractère ou liste).

                   Calculs                        Résultat                   Type de donnée

 1)     11 + 2 * 3

 2)     "11" + 2 * "3"

 3)     str(11) + "2 * 3"

 4)     "11 + 2 * 3"

 5)     eval("11 + 2 * 3") + 3/2

 6)     str(11) + str(2*3)

 7)     ["11","2",2 * 3]

 8)     "11" + 2 * 3

 9)     3 * str(str(11) + "2")

 10)    eval("a + 3")

 11)    str(11 + 2 * 3)

 12)    11 + "2" * [3]

 13)    eval("11" + "2") ** 3

 14)    eval("11**3") / 2

 15)    eval("11**3") // 2

 16)    "11**3" / 2

 17)    [eval("11**3") % 2]

 18)    str(11)+str(3)+ "/"+"2"

 19)    str(a)+str(a)+ "/"+"2"

 20)    "a+b" + "/" + "2"

b) Obtenir le résultat des « calculs » précédant en utilisant la console d’un éditeur Python.

________________________________________________________________________________
P.S. 2021-2022                         15               Programmation en Python 3 /AMOS
Exercice 05

a) Sans utiliser d’éditeur Python et pour chaque programme :
• Créer un tableau ou apparaissent la valeur des variables à chaque ligne du programme en
  précisant le type de donnée obtenu (entier, flottant, chaîne de caractère ou liste).
• Quel est la sortie affichée dans la console après exécution du programme dans la zone de script ?

1) Programme (zone de script)                 2) Programme (zone de script)

 x="10"                                        x="10"
 x=2*x                                         x=eval(x)
 x=eval(x)                                     x=2.0*x
 x=2*x                                         x=str(x)
 print(x)                                      x=3*x
                                               print(x)

3) Programme (zone de script)

 x = "3"
 y= eval(x)
 L=[ ]
 z="2**"+x+"="+str(2**y)
 L.append(z)
 y=y+1
 z="2**"+str(y)+"="+str(2**y)
 L.append(z)
 print(L)

4) Programme (zone de script)

 a=5
 D ="("+str(a)+"+X)"+chr(0x00B2)+"="+str(a**2)+"+"+str(2*a)+"X+X"+chr(0x00B2)
 print(D)

b) Ecrire un programme en Python 3 qui affiche en sortie le développement de
   (a + X)(a − X) où a est un nombre entier saisi par l'utilisateur.

c) Utiliser un éditeur Python pour écrire les programmes du point a) dans la zone de script
   et obtenir la sortie dans la console. Insérer la commande print(var,type(var)) aux endroits
   appropriés de vos programmes, pour obtenir la valeur et le type des variables var.
   Nom du fichier : Exercice_donnees_05.py

________________________________________________________________________________
P.S. 2021-2022                         16               Programmation en Python 3 /AMOS
Exercice 06
Une année-lumière est une unité de distance couramment utilisée en astronomie, définie comme
la distance parcourue par la lumière en une année (365,25 jours). La vitesse de la lumière étant
environ égale à 299’792 km par seconde.

Écrire un programme en Python 3 convertissant un nombre d'années-lumière en kilomètres.

Indication : Programme Python (zone de script)

                              a = eval(input(…………….))
                              k = ………………………….
                              print(…………………….….)

Nom du fichier : Exercice_donnees_06.py

Exercice 07
a) Si n est une variable contenant un nombre à 2 chiffres non nuls, écrire un programme
   en Python 3 permettant d’afficher une variable p contenant le nombre n écrit « à l'envers » .
  Exemple : si n = 12 alors p = 21

b) Même question avec un nombre à (exactement) 3 chiffres.
  Exemple : si n = 342 alors p = 243

  Indications : i) Utiliser le quotient // et le reste % de la division euclidienne (entière).
               ii) n = x ⋅ 101 + y ⋅ 100 ou n = x ⋅ 10 2 + y ⋅ 101 + z ⋅ 100
               iii) Programme Python (zone de script)

                # Partie a)
                n= eval(input(……………..…….))
                x=…………………………………..
                y=…………………………………..
                p=…………………………………..
                print(………………………..……..)

                # Partie b)
                n= eval(input(…………..……….))
                x=…………………………………..
                y=…………………………………..
                y=…………………………………..
                p=…………………………………..
                print(……………………..………..)

  Nom du fichier : Exercice_donnees_07.py

________________________________________________________________________________
P.S. 2021-2022                         17               Programmation en Python 3 /AMOS
Exercice 08
Un magasin de bricolage propose une application pour calculer le nombre n de pots de peinture
nécessaires à repeindre les 4 murs d'une pièce dont on connaît les dimensions l, p et h exprimées
en mètres.

a) Exprimer la surface S des 4 murs latéraux de la pièce.

b) Ecrire un programme en Python 3 qui, connaissant les dimensions de la pièce, calcule le
   nombre n de pots de peinture nécessaires, sachant que sur le pot de peinture, on peut lire :

  Indications : i) Utiliser le quotient // de la division euclidienne (entière).
               ii) Programme Python (zone de script)

                h = eval(input(…………..……….))
                l = eval(input(…………..……….))
                p = eval(input(…………..……….))
                S = …………………………………..
                n = …………………………………..
                print(…………………………………..)

  Nom du fichier : Exercice_donnees_08.py

________________________________________________________________________________
P.S. 2021-2022                         18               Programmation en Python 3 /AMOS
1.3.5 Instructions conditionnelles

Dans un algorithme ou un programme on peut effectuer des instructions selon certaines conditions
en utilisant ce que l’on appelle des instructions conditionnelles.

Exemple 01                        Nom du fichier : Exemple_Test_01.py

# Est-ce que a est plus petit que b ?

Programme Python (zone de script)

 a=eval(input("Entrez un nombre a : "))
 b=eval(input("Entrez un nombre b : "))

 print("a=",a)
 print("b=",b)

 if a < b :
     print(a,"est plus petit que",b)
 else:
     print(b,"est plus petit ou égal à",a)

# Est-ce que a est plus petit ou égal à b ?

Programme Python (zone de script)

 # Version 01                                          # Version 02
 a=eval(input("Entrez un nombre a : "))                a=eval(input("Entrez un nombre a : "))
 b=eval(input("Entrez un nombre b : "))                b=eval(input("Entrez un nombre b : "))
 print("a=",a)                                         print("a=",a)
 print("b=",b)                                         print("b=",b)

 if a < b :                                            if a < b :
     print(a,"est plus petit que",b)                       print(a,"est plus petit que",b)
 else:                                                 elif a == b:
     if a == b :                                           print(a,"est égal à",b)
         print(a,"est égal à",b)                       else:
     else:                                                 print(b,"est plus petit que",a)
         print(b,"est plus petit que",a)

Entrée et/ou Sortie Python (console)

 In   : Entrez un nombre a : 45       In   : Entrez un nombre a : 76     In   : Entrez un nombre a : 345
 In   : Entrez un nombre b : 56       In   : Entrez un nombre a : 54     In   : Entrez un nombre a : 345
 Out : 45 est plus petit que 56       Out : 54 est plus petit que 76     Out : 345 est égal à 345

________________________________________________________________________________
P.S. 2021-2022                         19               Programmation en Python 3 /AMOS
Exemple 02                      Nom du fichier : Exemple_Test_02.py

# Est-ce que c appartient à l’intervalle [a ;b] ?

Programme Python (zone de script)

 # Version 01

 a=eval(input("Entrez un nombre a : "))
 b=eval(input("Entrez un nombre b : "))
 c=eval(input("Entrez un nombre c : "))

 if a
Définition

 Un booléen est un type de donnée qui ne peut prendre que deux valeurs : vrai (V) ou faux (F).
 En Python, ces deux valeurs sont notées True et False.

Opérateurs de comparaisons

 • a = = b renvoie True si les valeurs de a et b sont égales.
 • a = = b renvoie False si les valeurs de a et b ne sont pas égales.

 • a != b renvoie True si les valeurs de a et b ne sont pas égales.
 • a != b renvoie False si les valeurs de a et b sont égales.

 • a > b renvoie True si a est strictement plus grand que b.
 • a > b renvoie False si a n’est pas strictement plus grand que b.

 • a >= b renvoie True si a est plus grand ou égal à b.
 • a >= b renvoie False si a n’est pas plus grand ou égal à b.

 • a < b renvoie True si a est strictement plus petit que b.
 • a < b renvoie False si a n’est pas strictement plus petit que b.

 • a = b )                                     Out : False

 print( a < b )                                      Out : True

 print( a
Remarques sur les instructions conditionnelles

 En Python                                      Résultat après exécution

 if  :                               Si  est vraie (True) alors
                                        .

 if  :                               Si  est vraie (True) alors
                                      
 else :                                         sinon
                                      
 if  :                             Si  est vraie (True) alors
                                        
 elif  :                           sinon si  est vraie (True) alors
                                       
 else :                                         sinon
                                       
Le test "Si" va en Python se traduire par l'instruction "if ".
Lorsque Python rencontre une instruction "if ", il effectue l'ensemble des 
indentées (c'est à dire décalées) qui suivent lorsque la  est vraie (True).
L'indentation (décalage du texte) peut être obtenue à l'aide de la touche        (TAB)
ou en utilisant des espaces.
Le "alors" n'apparaît pas en Python, mais est remplacé par deux points ":".
Le "sinon" va en Python se traduire par l'instruction " else : "
Lorsque Python rencontre une instruction "else : ", il effectue l'ensemble des 
indentées (c'est à dire décalées) qui suivent lorsque la  est fausse (False).

Opérateurs booléens
Il existe des opérations entres les variables booléennes.

        C1                   C2              C1 and C2                C1 or C2           not C1
     condition 1          condition 2          C1 et C2               C1 ou C2           non C1

       True                  True                True                   True             False
       True                False                False                   True             False
       False                 True               False                   True              True
       False               False                False                  False              True

Programme Python (zone de script)                    Entrée et/ou Sortie Python (console)

 a,b,c = 5,7,10
 print( a
Exercice 01
Écrire un programme en Python 3 qui indique si le nombre entier positif n entré
par l’utilisateur est un nombre entier pair ou impair.
Indications : i) Utiliser le reste et le quotient de la division euclidienne par 2.
              ii) Programme Python (zone de script)
                 n= eval(input(…………………………….))
                 if ……………………… :
                    print(……………………………………..)
                 else:
                    print(……………………………………..)

 Nom du fichier : Exercice_Test_01.py

Exercice 02
                                                                  x si x ≥ 0
Considérons la fonction valeur absolue définie par : f ( x=
                                                          )   x= 
                                                                 − x si x < 0
Écrire un programme en Python 3 qui calcule l’image de cette fonction si l’utilisateur
donne comme entrée la préimage x.
Remarque : N’utiliser pas la fonction prédéfinie dans Python : abs(x)
Indications : Programme Python (zone de script)

                 x= eval(input(…………………………….))
                 if ……………………… :
                    print(……………………………………..)
                 else:
                    print(……………………………………..)

 Nom du fichier : Exercice_ Test_02.py

Exercice 03
Écrire un programme en Python 3 qui indique si le nombre n entré par l’utilisateur
est plus grand, plus petit ou égal à 10.
Indications : Programme Python (zone de script)

                 n= eval(input(…………………………….))
                 if ……………………………. :
                    print(…………………………….)
                 else:
                    if ……………………………. :
                       print(…………………………….)
                    else:
                       print(…………………………….)

 Nom du fichier : Exercice_ Test_03.py

________________________________________________________________________________
P.S. 2021-2022                         23               Programmation en Python 3 /AMOS
Exercice 04
Écrire un programme en Python 3 qui permet de résoudre une équation polynomiale
du 1e degré de la forme ax + b =0 si l’utilisateur donne comme entrée des coefficients
a,b ∈  .

Indication : Programme Python (zone de script)

            a= eval(input(…………………………….))
            b= eval(input(…………………………….))
            if …….… and …….… :
               print(………….)
            elif …….… and …….… :
               print(………….)
            else:
               print(………….)

 Nom du fichier : Exercice_ Test_04.py

Exercice 05
Écrire un programme en Python 3 qui permet de résoudre une équation polynomiale
du 2e degré de la forme : ax 2 + bx + c =0 si l’utilisateur donne comme entrée,
des coefficients a,b,c ∈  avec a ≠ 0 .
Indications : i) Utiliser la formule de Viète :
                                              −b − ∆         −b + ∆
                 ax 2 + bx + c = 0 ⇒ x1 =            et x2 =              avec ∆ = b 2 − 4ac
                                                 2a             2a
              ii) Pour calculer la racine carrée d’un nombre x il faut importer d’abord le module
                  math en tapant dans le programme la ligne suivante : import math as mt
                 Ecrire ensuite dans le programme : mt.sqrt(x)
              iii) Programme Python (zone de script)

                    import math as mt
                    a=………………………
                    b=………………………
                    c=………………………
                    Delta=………………………
                    if ……………………… :
                       print(………….)
                    elif……………………… :
                       print(………….)
                    else:
                       print(………….)

Nom du fichier : Exercice_ Test_05.py

________________________________________________________________________________
P.S. 2021-2022                         24               Programmation en Python 3 /AMOS
1.3.6 Instructions répétitives
Une grande force de la programmation, et l'une des raisons pour lesquelles elle a été inventée, c'est
de pouvoir répéter plusieurs fois la même tâche. Nous allons ajouter des « boucles » à nos
algorithmes et programmes. Nous allons étudier deux types d’instructions répétitives :
i) les boucles bornées de type « for »
ii) les boucles non bornées de type « while ».

Exemple 01                     Nom du fichier : Exemple_Boucle_01.py

# Écrire tous les nombres entiers de 3 à 15

Programme Python (zone de script)

 # version 01 / boucle : for

 for i in range(3,16,1):
    print(i)

Entrée et/ou Sortie Python (console)
 Out :
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15

Programme Python (zone de script)

 # version 02 / boucle : for / variable de type : liste

 L=[ ]
 for i in range(3,16,1):
    L.append(i)
 print(L)

Entrée et/ou Sortie Python (console)

 Out : [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

________________________________________________________________________________
P.S. 2021-2022                         25               Programmation en Python 3 /AMOS
Programme Python (zone de script)

 # version 03 / boucle : for / variable de type : liste / etapes

 L=[ ]
 for i in range(3,16,1):
    L.append(i)
    print(L)

Entrée et/ou Sortie Python (console)

 Out :
 [3]
 [3, 4]
 [3, 4, 5]
 [3, 4, 5, 6]
 [3, 4, 5, 6, 7]
 [3, 4, 5, 6, 7, 8]
 [3, 4, 5, 6, 7, 8, 9]
 [3, 4, 5, 6, 7, 8, 9, 10]
 [3, 4, 5, 6, 7, 8, 9, 10, 11]
 [3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
 [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
 [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
 [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

Programme Python (zone de script)

 # version 04 / boucle : while / variable de type : liste

 L=[ ]
 i=3
 while i
Exemple 02                        Nom du fichier : Exemple_Boucle_02.py

# Écrire tous les nombres entiers de 30 à 4

Programme Python (zone de script)

 # version 01 / boucle : for / variable de type : liste
 L=[ ]
 for i in range(30,3,-1):
    L.append(i)
 print(L)

 # version 02 / boucle : while / variable de type : liste
 L=[ ]
 i=30
 while i>=4:
    L.append(i)
    i=i-1
 print(L)

Entrée et/ou Sortie Python (console)

 Out : [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]

Exemple 03                        Nom du fichier : Exemple_Boucle_03.py

# Écrire la table de multiplication de 8 pour les entiers de 0 à 10

Programme Python (zone de script)

 for k in range(0,11):
    print(k,"* 8 =",k*8)

Entrée et/ou Sortie Python (console)
 Out :
 0*8=0
 1*8=8
 2 * 8 = 16
 3 * 8 = 24
 4 * 8 = 32
 5 * 8 = 40
 6 * 8 = 48
 7 * 8 = 56
 8 * 8 = 64
 9 * 8 = 72
 10 * 8 = 80

________________________________________________________________________________
P.S. 2021-2022                         27               Programmation en Python 3 /AMOS
Exemple 04                  Nom du fichier : Exemple_Boucle_04.py

# Écrire la somme de tous les nombres entiers compris entre a et b avec 0
Remarques sur les instructions répétitives

a) Une boucle bornée est ainsi structurée :

 En Python                                      Résultat après exécution

                                                La variable var prend successivement toutes
 for var in range (debut,fin,pas) :             les valeurs entières de l’entier debut à l’entier
                                  fin avec un pas entier de pas, et pour chacune
                                                d’elle, exécution des .

La variable var est appelée compteur de la boucle.
Les paramètres debut et pas sont optionnels. Cela permet de réaliser une boucle en faisant
parcourir à la variable var tous les entiers :
• de l'intervalle [0; fin[ si un seul paramètre est renseigné.
• de l'intervalle si 2 paramètres [ debut; fin[ sont renseignés.
• dans l'intervalle [ debut; fin[ mais en réalisant une suite arithmétique de raison pas
  si les 3 paramètres sont renseignés.
Le "pour" va en Python se traduire par l'instruction " for ".
Les  sont indentées par rapport au for .
L'indentation (décalage du texte) peut être obtenue à l'aide de la touche         (TAB)
ou en utilisant des espaces.
On utilise en général la boucle " for "quand on connaît à l’avance le nombre de fois que l’on
souhaite répéter une instruction.

b) Une boucle non bornée est ainsi structurée :

 En Python                            Résultat après exécution

 while  :                  Tant que la  est vraie (True) alors
                        effectuer les .

Le "tant que" va en Python se traduire par l'instruction " while ".
Lorsque Python rencontre une instruction " while ", il effectue l'ensemble des 
indentées (c'est à dire décalées) qui suivent lorsque la  est vraie (True).
On utilise en général la boucle "while " quand on ne connaît pas à l’avance le nombre de fois
que l’on souhaite répéter une instruction.
La boucle "while " peut s’avérer utile si on veut qu’une variable prenne successivement toutes
les valeurs de debut à fin avec un pas de pas, sans que ses 3 derniers paramètres soient entiers.

________________________________________________________________________________
P.S. 2021-2022                         29               Programmation en Python 3 /AMOS
Exercice 01

a) Écrire un programme en Python 3 qui affiche tous les nombres pairs entre
   2254 et 2288 dans une liste.
b) Écrire un programme en Python 3 qui affiche tous les nombres impairs entre
  131 et 255 dans une liste.
Remarque : Proposer deux versions, une avec la boucle while et l’autre avec for .
Indication : Programme Python (zone de script)

 # Version / boucle : for                  # Version / boucle : while

 L=[ ]                                     L=[ ]
 for …………………….. :                          i=……………………..
    L.append(…………….)                       while …………………….. :
 print(……………………..)                            L.append(…………….)
                                              i=……………………..
                                           print(……………………..)

Nom du fichier : Exercice_Boucle_01.py

Exercice 02

a) Ecrire un programme en Python 3 qui affiche la somme : 20 + 21 + 2 2 + ....... + 2 n
   et calcule cette somme. Le nombre n est un entier positif entré par l’utilisateur.
   Indications : Programme Python (zone de script)

    n=eval(input(………………………))
    Chaine=…………………………….
    Somme=……………………………
    Terme=……………………………..
    for ……………………..:
       Chaine=………………………
       Terme=……………………….
       Somme=……………………..
    Chaine=…………………….
    Somme=……………………
    print(………………………..)

   Entrée et/ou Sortie Python (console)
    In : Entrez le nombre entier n=5
    Out : 2^0+2^1+2^2+2^3+2^4+2^5 = 63

   Nom du fichier : Exercice_Boucle_02.py

________________________________________________________________________________
P.S. 2021-2022                         30               Programmation en Python 3 /AMOS
Exercice 03
Écrire un programme en Python 3 qui affiche tous les livrets de 1 à 10.
Exemple
 Livret de 1             Livret de 2             Livret de 3           …..

 1*1=1                   2*1=2                   3*1=3                 …..
 1*2=2                   2*2=4                   3*2=6
 1*3=3                   2*3=6                   3*3=9
 1*4=4                   2*4=8                   3*4=12
 1*5=5                   2*5=10                  3*5=15
 1*6=6                   2*6=12                  3*6=18
 1*7=7                   2*7=14                  3*7=21
 1*8=8                   2*8=16                  3*8=24
 1*9=9                   2*9=18                  3*9=27
 1*10=10                 2*10=20                 3*10=30

Indications : i) Placer une boucle à l'intérieur d'une autre boucle.
               ii) Programme Python (zone de script)

                   for ……………………. :
                     print(…………………….)
                     print(…………………….)
                     for ……………………. :
                        print(…………………….)

  Nom du fichier : Exercice_Boucle_03.py

Exercice 04
Décrire en français et à l’aide de dessins, sans exécuter le programme dans un éditeur,
l’entrée et la sortie du programme Python 3 écrit ci-dessous.

Programme Python (zone de script)

 n=eval(input("Entrez un entier positif n="))
 print(n*" "+"*")
 for i in range(1,n,1):
    print((n-i)*" "+"*"+(2*i-1)*" "+"*")

Nom du fichier : Exercice_Boucle_04.py

________________________________________________________________________________
P.S. 2021-2022                         31               Programmation en Python 3 /AMOS
Vous pouvez aussi lire