En pratique : Différence entre versions
De TARENTINO
Aller à la navigationAller à la recherche| Ligne 452 : | Ligne 452 : | ||
</div> | </div> | ||
=== Python Niveau 2 (Alex) === | === Python Niveau 2 (Alex) === | ||
| + | ==== Exercice Hello Word ==== | ||
| + | <div style="width:80%; height:600px; overflow:auto; border:solid 1px black;"> | ||
| + | * Sans commentaire, si tu n'y arrives pas alors laisses tomber Python.... | ||
| + | <syntaxhighlight lang="python" line='line'> | ||
| + | #!/usr/bin/env python3 | ||
| + | print("Hello, world ! bientôt l'été") | ||
| + | </syntaxhighlight> | ||
| + | </div> | ||
== Sauvegarde == | == Sauvegarde == | ||
Version du 24 mars 2020 à 23:22
Array
Réferences: Doctor Python Pythonnerie sdz.tdct.org Python en ligne
Sommaire
En pratique
- Appliquons maintenant la théorie à la pratique.
Infos utiles
- Connaitre la version de Python
1 import sys
2 print(sys.version_info)
- Index des modules d'extension Python
Exercices
Python Niveau 1
Sommes de 2 nombres
| Sommes de 2 nombres => |
1 # PROGRAMME sommeNombres
2 #VAR
3 nombre1 : int
4 nombre2 : int
5 somme : int
6 #DEBUT
7 nombre1 = int(input("Saisir le premier nombre : "))
8 nombre2 = int(input("Saisir le deuxième nombre : "))
9 somme = nombre1 + nombre2
10 print("La somme des 2 nombres est : " , somme)
11 #FIN
|
Ascenceurs
Ascenceur 01
1 # Variables
2 PorteCabineEstOuverte:bool
3 lesEtagesEstES:[bool]=[true,
4 true,
5 false,
6 true]
7 #lesEtagesEstES[1]=false
8 EntrainementEtatDepl:str # Arreté
9 EtageCourant:int
10 EtageAppel:int
11 # Debut
12 EntrainementEtatDepl="Arreté"
13 EtageCourant=1
14 #if (EntrainementEtatDepl=="Arreté") :
15 EtageAppel=int(input("De quel étage appelez vous ? "))
16 # si EtageCourant < EtageAppel And EntrainementEtatDepl=Arreté and PorteCabineEstOuverte=false
17 if (EtageAppel > EtageCourant) :
18 # descente
19 print("Faire monter l'entrainement de la cabine !")
20 print("La cabine est en montée et ouverte False à l'étage ", EtageCourant)
21 else :
22 if (EtageAppel < EtageCourant) :
23 # si EtageCourant < EtageAppel And EntrainementEtatDepl=Arreté and PorteCabineEstOuverte=true
24 # Montée
25 print("Faire descendre l'entrainement de la cabine !")
26 print("La cabine est en descente et ouverte False à l'étage ", EtageCourant)
27 else :
28 print("Déjà au bon étage !!!! Faire ouvrir les portes")
29 # fin de si
30 # fin de si
31 print("La cabine est ",EntrainementEtatDepl, " et ouverte à l'étage ", EtageCourant)
32 # Fin
Ascenceur 02
1 """"
2 NAME : ascenseur.py
3 Description : Programme de pilotage d'un ascenseur - V1
4 """
5
6 # PROGRAMME ascenseur
7 #
8 # TYPES
9 # Nous n'utilisons que des types natifs du langage (int, str ...), il n'est donc pas nécessaire de définir des types de données : ils existent
10 #
11 # VAR
12 etatEntrainement : str = "ARRETE" # Déclaration d'une donnée variable de type string et initialisation
13 # Un entrainement arrêté
14 porteCabineEstOuverte : bool = False # Déclaration d'une donnée variable de type booléen et initialisation
15 # Une porte de cabine ouverte
16
17
18 etageCourantCabine : int = 1 # Déclaration d'une donnée variable de type entier et initialisation
19 # Une cabine est à l'étge 1
20 etageDAppel : int = -1 # Déclaration d'une donnée
21 # variable de type entier et initialisation
22 # Aucun étage appelé (valeur -1)
23 lesEtagesEstES : [bool]=[True,True,False,True]
24
25 n : int=0
26
27 #
28 # DEBUT
29 print(" Debut du programme 3")
30 while n<4 :
31 print("L'etage " , n , " est " ,lesEtagesEstES[n])
32 n=n+1
33 print(" La cabine est", etatEntrainement, "et ouverte", porteCabineEstOuverte, "à l'étage", etageCourantCabine)
34
35 # L'usager appelle l'ascenseur
36 etageDAppel = int(input("De quel étage appelez-vous? "))
37 if (lesEtagesEstES[etageDAppel]==True) :
38
39 if (etageDAppel > etageCourantCabine) :
40 print("FAIRE MONTER L'ENTRAINEMENT DE LA CABINE")
41 etatEntrainement = "EN_MONTEE"
42 else :
43 if (etageDAppel < etageCourantCabine) :
44 print("FAIRE DESCENDRE L'ENTRAINEMENT DE LA CABINE")
45 etatEntrainement = "EN_DESCENTE"
46 else :
47 #La cabine se tient déjà à l'étage demandé : il faut juste ouvrir la porte
48 print("FAIRE OUVRIR LA PORTE DE LA CABINE")
49 porteCabineEstOuverte = True
50 print(" La cabine est", etatEntrainement, "et ouverte", porteCabineEstOuverte, "à l'étage", etageCourantCabine)
51
52 # Saisie de l'étage auquel arrive la cabine
53 if ( etageCourantCabine != etageDAppel) :
54 etageCourantCabine = int(input("La cabine arrive à quel étage? "))
55 if (etageCourantCabine == etageDAppel) :
56 print("FAIRE ARRETER L'ENTRAINEMENT")
57 etatEntrainement = "ARRETE"
58 print("FAIRE OUVRIR LA PORTE DE LA CABINE")
59 porteCabineEstOuverte = True
60 print(" La cabine est", etatEntrainement, "et ouverte", porteCabineEstOuverte, "à l'étage",
61 etageCourantCabine)
62
63 # Saisie de l'étage auquel arrive la cabine
64 if ( etageCourantCabine != etageDAppel) :
65 etageCourantCabine = int(input("La cabine arrive à quel étage? "))
66 if (etageCourantCabine == etageDAppel) :
67 print("FAIRE ARRETER L'ENTRAINEMENT")
68 etatEntrainement = "ARRETE"
69 print ("FAIRE OUVRIR LA PORTE DE LA CABINE")
70 porteCabineEstOuverte = True
71 print(" La cabine est", etatEntrainement, "et ouverte", porteCabineEstOuverte, "à l'étage",
72 etageCourantCabine)
73
74 # Saisie de l'étage auquel arrive la cabine
75 if ( etageCourantCabine != etageDAppel) :
76 etageCourantCabine = int(input("La cabine arrive à quel étage? "))
77 if (etageCourantCabine == etageDAppel) :
78 print("FAIRE ARRETER L'ENTRAINEMENT")
79 etatEntrainement = "ARRETE"
80 print("FAIRE OUVRIR LA PORTE DE LA CABINE")
81 porteCabineEstOuverte = True
82 print(" La cabine est", etatEntrainement, "et ouverte", porteCabineEstOuverte, "à l'étage",
83 etageCourantCabine)
84
85
86
87
88
89 else :
90 print("etage FERME")
91 print(" Fin du programme")
92 #
93 # FIN
Ascenceur 03
1 """"
2 NAME : ascenseur.py
3 Description : Programme de pilotage d'un ascenseur - V2 - Tableaux, structures, boucles
4 """
5 #
6 # PROGRAMME ascenseur
7 # TYPES
8 from enum import Enum # Truc syntaxique que l'on ne comprend pas encore
9 class EnumEtatEnt (Enum) : # Définition d'un type énumération
10 ARRETE = 1
11 EN_MONTEE = 2
12 EN_DESCENTE = 3
13
14 class EnumEtatPorte (Enum) :
15 FERME = 1
16 OUVERT = 2
17
18 class EtatCabine (Enum) :
19 ARRETE_FERME = 1
20 ARRETE_OUVERT = 2
21 EN_DESCENTE_FERME = 3
22 EN_MONTEE_FERME = 4
23
24 #Constante NB_ETAGES = 4 - Le nombre d'étages de l'ascenseur est 4, RDC, étage 0, inclus - Il y a donc 3 étages proprement dits
25 #Constante NUM_PORTE_CABINE = 4 - Le numéro de la porte de cabine est 4 (les premiers numéros correspondent à des portes d'étage)
26
27 from dataclasses import dataclass # Truc syntaxique que l'on ne comprend pas encore
28 @dataclass # Autre truc syntaxique ...
29 class Cabine : # Définition d'un type structure Cabine
30 etat : EtatCabine
31 etageCourant : int
32 numPorte: int
33
34 @dataclass
35 class Etage : # Définition d'un type structure Etage
36 estES : bool
37 estEteint : bool
38 numPorte : int
39 #
40 # VAR
41
42 def init() :
43 print(" L'entrainement est", etatEntrainement)
44 print(" La porte de la cabine est dans l'état ", lesEtatPortes[laCabine.numPorte])
45 print(" La cabine est", laCabine.etat, "à l'étage ", laCabine.etageCourant)
46
47 etatEntrainement : EnumEtatEnt = EnumEtatEnt.ARRETE # Déclaration d'une donnée variable de type énumération et initialisation -
48 # 1 entrainement, arrêté
49 lesEtatPortes : [EnumEtatPorte] = [EnumEtatPorte.FERME, EnumEtatPorte.FERME,EnumEtatPorte.FERME,EnumEtatPorte.FERME,EnumEtatPorte.FERME] # Déclaration d'une donnée variable de type tableau d'énumération et initialisation
50 # 5 portes fermées - 4 portes d'étage et 1 porte de cabine (la dernière)
51 laCabine : Cabine = Cabine(EtatCabine.ARRETE_FERME, 1, 4) # Déclation d'une donnée variable de type structure et initialisation
52 # 1 cabine, arrêté fermée, à l'étage 1 et avec la porte 4
53 lesEtages : [Etage] = [Etage(True,True,0), Etage(True,True,1), Etage(False,True,2), Etage(True,True,3)] # Déclaration d'une donnée variable de type tableau de 4 booléens et initialisation
54 # 4 étages, chaque étage, en service, éteint, avec une porte de son numéro
55 etageDAppel : int = -1 # Déclaration d'une donnée variable de type entier et initialisation
56 # Aucun étage appelé (valeur -1)
57 #
58 # DEBUT
59 print(" Début du programme 9")
60
61 # Affichage état de l'ascenseur
62 # Affichage état complet de la cabine
63 print(" L'entrainement est", etatEntrainement)
64 print(" La porte de la cabine est dans l'état ", lesEtatPortes[laCabine.numPorte])
65 print(" La cabine est", laCabine.etat, "à l'étage ", laCabine.etageCourant)
66
67 #Affichage état complet des étages
68 """""
69 numEtage = 0
70 while numEtage < 4 :# NB_ETAGES
71 print(" L'étage ", numEtage, "est es ", lesEtages[numEtage].estES, ", éteint ", lesEtages[numEtage].estEteint,
72 "numéro de porte ", lesEtages[numEtage].numPorte,
73 "dans l'état ", lesEtatPortes[lesEtages[numEtage].numPorte])
74 numEtage = numEtage + 1
75 """
76 for numEtage in range(0,4) :
77 print(" L'étage ", numEtage, "est es ", lesEtages[numEtage].estES, ", éteint ", lesEtages[numEtage].estEteint,
78 "numéro de porte ", lesEtages[numEtage].numPorte,
79 "dans l'état ", lesEtatPortes[lesEtages[numEtage].numPorte])
80
81
82 # L'usager appelle l'ascenseur
83 etageDAppel = int(input("De quel étage appelez-vous? "))
84 if lesEtages[etageDAppel].estES :
85 if (etageDAppel > laCabine.etageCourant) :
86 print("FAIRE MONTER L'ENTRAINEMENT DE LA CABINE")
87 etatEntrainement = EnumEtatEnt.EN_MONTEE
88 laCabine.etat = EtatCabine.EN_MONTEE_FERME
89 else :
90 if (etageDAppel < laCabine.etageCourant) :
91 print("FAIRE DESCENDRE L'ENTRAINEMENT DE LA CABINE")
92 etatEntrainement = EnumEtatEnt.EN_DESCENTE
93 laCabine.etat = EtatCabine.EN_DESCENTE_FERME
94 else :
95 #La cabine se tient déjà à l'étage demandé : il faut juste ouvrir les portes
96 print("FAIRE OUVRIR LA PORTE NUMERO : ", laCabine.numPorte)
97 lesEtatPortes[laCabine.numPorte] = EnumEtatPorte.OUVERT
98 print("FAIRE OUVRIR LA PORTE NUMERO : ", lesEtages[etageDAppel].numPorte)
99 lesEtatPortes[lesEtages[etageDAppel].numPorte] = EnumEtatPorte.OUVERT
100 laCabine.etat = EtatCabine.ARRETE_OUVERT
101 # Affichage état complet de la cabine
102 print(" L'entrainement est", etatEntrainement)
103 print(" La porte de la cabine est dans l'état ", lesEtatPortes[laCabine.numPorte])
104 print(" La cabine est", laCabine.etat, "à l'étage ", laCabine.etageCourant)
105
106
107 while ( laCabine.etageCourant != etageDAppel) : # La cabine n'est pas à l'étage d'appel
108 # Saisie de l'étage auquel arrive la cabine
109 laCabine.etageCourant = int(input("La cabine arrive à quel étage? "))
110 if (laCabine.etageCourant == etageDAppel) :
111 print("FAIRE ARRETER L'ENTRAINEMENT")
112 etatEntrainement = EnumEtatEnt.ARRETE
113 print("FAIRE OUVRIR LA PORTE NUMERO : ", laCabine.numPorte)
114 lesEtatPortes[laCabine.numPorte] = EnumEtatPorte.OUVERT
115 print("FAIRE OUVRIR LA PORTE NUMERO : ", lesEtages[etageDAppel].numPorte)
116 lesEtatPortes[lesEtages[etageDAppel].numPorte] = EnumEtatPorte.OUVERT
117 laCabine.etat = EtatCabine.ARRETE_OUVERT
118 # Affichage état complet de la cabine
119 print(" L'entrainement est", etatEntrainement)
120 print(" La porte de la cabine est dans l'état ", lesEtatPortes[laCabine.numPorte])
121 print(" La cabine est", laCabine.etat, "à l'étage ", laCabine.etageCourant)
122
123 else :
124 print(" L'appel ne peut être pris en compte car l'étage n'est pas en service")
125
126 print(" Fin du programme")
127 #
128 # FIN
Ascenceur 04
1 """"
2 NAME : ascenseur.py
3 Description : Programme "ascenseur", programme de pilotage d'un ascenseur - V3 - Sous-programmes
4 """
5 # PROGRAMME ascenseur
6 #
7 # TYPES
8 from enum import Enum # Truc syntaxique que l'on ne comprend pas encore
9 class EnumEtatEnt (Enum) : # Définition d'un type énumération
10 ARRETE = 1
11 EN_MONTEE = 2
12 EN_DESCENTE = 3
13
14 class EnumEtatPorte (Enum) :
15 FERME = 1
16 OUVERT = 2
17
18 class EtatCabine (Enum) :
19 ARRETE_FERME = 1
20 ARRETE_OUVERT = 2
21 EN_DESCENTE_FERME = 3
22 EN_MONTEE_FERME = 4
23
24 #Constante NB_ETAGES = 4 - Le nombre d'étages de l'ascenseur est 4, RDC, étage 0, inclus - Il y a donc 3 étages proprement dits
25 #Constante NUM_PORTE_CABINE = 4 - Le numéro de la porte de cabine est 4 (les premiers numéros correspondent à des portes d'étage)
26
27 from dataclasses import dataclass # Truc syntaxique que l'on ne comprend pas encore
28 @dataclass # Autre truc syntaxique ...
29 class Cabine : # Définition d'un type structure Cabine
30 etat : EtatCabine
31 etageCourant : int
32 numPorte: int
33
34 @dataclass
35 class Etage : # Définition d'un type structure Etage
36 estES : bool
37 estEteint : bool
38 numPorte : int
39 #
40 # VAR
41 etatEntrainement : EnumEtatEnt = EnumEtatEnt.ARRETE # Déclaration d'une donnée variable de type énumération et initialisation -
42 # 1 entrainement, arrêté
43 lesEtatPortes : [EnumEtatPorte] = [EnumEtatPorte.FERME, EnumEtatPorte.FERME,EnumEtatPorte.FERME,EnumEtatPorte.FERME,EnumEtatPorte.FERME] # Déclaration d'une donnée variable de type tableau d'énumération et initialisation
44 # 5 portes fermées - 4 portes d'étage et 1 porte de cabine (la dernière)
45 laCabine : Cabine = Cabine(EtatCabine.ARRETE_FERME, 1, 4) # Déclation d'une donnée variable de type structure et initialisation
46 # 1 cabine, arrêté fermée, à l'étage 1 et avec la porte 4
47 lesEtages : [Etage] = [Etage(True,True,0), Etage(True,True,1), Etage(False,True,2), Etage(True,True,3)] # Déclaration d'une donnée variable de type tableau de 4 booléens et initialisation
48 # 4 étages, chaque étage, en service, éteint, avec une porte de son numéro
49 etageDAppel : int = -1 # Déclaration d'une donnée variable de type entier et initialisation
50 # Aucun étage appelé (valeur -1)
51
52 #
53 # SOUS-PROGRAMME afficherEtatCompletCabine
54 def afficherEtatCompletCabine() :
55 # DEBUT
56 print(" L'entrainement est", etatEntrainement)
57 print(" La porte de la cabine est dans l'état ", lesEtatPortes[laCabine.numPorte])
58 print(" La cabine est", laCabine.etat, "à l'étage ", laCabine.etageCourant)
59 # FIN
60 # FIN SOUS-PROGRAMME
61 #
62 # SOUS-PROGRAMME calculerEtatCabine - retourne une valeur de type EtatCabine
63 def calculerEtatCabine() :
64 # VAR LOC
65 result : EtatCabine
66 # DEBUT
67 if (etatEntrainement == EnumEtatEnt.ARRETE ) :
68 if (lesEtatPortes[laCabine.numPorte] == EnumEtatPorte.FERME) :
69 result = EtatCabine.ARRETE_FERME
70 else :
71 result = EtatCabine.ARRETE_OUVERT
72 elif (etatEntrainement == EnumEtatEnt.EN_DESCENTE ) :
73 result = EtatCabine.EN_DESCENTE_FERME
74 else :
75 result = EtatCabine.EN_MONTEE_FERME
76 return result
77 # FIN
78 # FIN SOUS-PROGRAMME
79
80 # DEBUT
81 print(" Début du programme 10")
82 # Affichage état de l'ascenseur
83 # Affichage état complet de la cabine
84 afficherEtatCompletCabine()
85 #Affichage état complet des étages
86 for numEtage in range(0,4) :
87 print(" L'étage ", numEtage, "est es ", lesEtages[numEtage].estES, ", éteint ", lesEtages[numEtage].estEteint,
88 "numéro de porte ", lesEtages[numEtage].numPorte,
89 "dans l'état ", lesEtatPortes[lesEtages[numEtage].numPorte])
90
91
92 # L'usager appelle l'ascenseur
93 etageDAppel = int(input('De quel étage appelez-vous? '))
94 if lesEtages[etageDAppel].estES :
95 if (etageDAppel > laCabine.etageCourant) :
96 print("FAIRE MONTER L'ENTRAINEMENT DE LA CABINE")
97 etatEntrainement = EnumEtatEnt.EN_MONTEE
98 laCabine.etat = calculerEtatCabine()
99 else :
100 if (etageDAppel < laCabine.etageCourant) :
101 print("FAIRE DESCENDRE L'ENTRAINEMENT DE LA CABINE")
102 etatEntrainement = EnumEtatEnt.EN_DESCENTE
103 laCabine.etat = calculerEtatCabine()
104 else :
105 #La cabine se tient déjà à l'étage demandé : il faut juste ouvrir les portes
106 print("FAIRE OUVRIR LA PORTE NUMERO : ", laCabine.numPorte)
107 lesEtatPortes[laCabine.numPorte] = EnumEtatPorte.OUVERT
108 print("FAIRE OUVRIR LA PORTE NUMERO : ", lesEtages[etageDAppel].numPorte)
109 lesEtatPortes[lesEtages[etageDAppel].numPorte] = EnumEtatPorte.OUVERT
110 laCabine.etat = calculerEtatCabine()
111 # Affichage état complet de la cabine
112 afficherEtatCompletCabine()
113
114
115 while ( laCabine.etageCourant != etageDAppel) : # La cabine n'est pas à l'étage d'appel
116 # Saisie de l'étage auquel arrive la cabine
117 laCabine.etageCourant = int(input('La cabine arrive à quel étage? '))
118 if (laCabine.etageCourant == etageDAppel) :
119 print("FAIRE ARRETER L'ENTRAINEMENT")
120 etatEntrainement = EnumEtatEnt.ARRETE
121 print("FAIRE OUVRIR LA PORTE NUMERO : ", laCabine.numPorte)
122 lesEtatPortes[laCabine.numPorte] = EnumEtatPorte.OUVERT
123 print("FAIRE OUVRIR LA PORTE NUMERO : ", lesEtages[etageDAppel].numPorte)
124 lesEtatPortes[lesEtages[etageDAppel].numPorte] = EnumEtatPorte.OUVERT
125 laCabine.etat = calculerEtatCabine()
126 # Affichage état complet de la cabine
127 afficherEtatCompletCabine()
128
129 else :
130 print(" l'appel ne peut être pris en compte car l'étage n'est pas en service")
131
132 print(" Fin du programme")
133 #
134 # FIN
Python Niveau 2 (Alex)
Exercice Hello Word
- Sans commentaire, si tu n'y arrives pas alors laisses tomber Python....
1 #!/usr/bin/env python3
2 print("Hello, world ! bientôt l'été")
Sauvegarde
- Je travaille sur un système Linux, je réinstalle quelques fois mon système.
- J'ai besoin pour cela de créer une sauvegarde.
Cahier des charges
- En utilisant au maximum Python,
- voici les différentes parties à sauvegarder sur un autre support:
- /etc
- /var
- /home
- /root
- Établir la liste de tous les programmes installés pour les réinstaller.