diff --git a/README.md b/README.md deleted file mode 100644 index b5ff41a..0000000 --- a/README.md +++ /dev/null @@ -1,268 +0,0 @@ -# PYTHON EXERCICES TP's - - -**PLAN :** -- [Série N°1](#serie-n1) -- [Série N°2](#serie-n2) -- [Série N°3](#serie-n3) -- [Série N°4](#serie-n4) - - - - - -## Série N°1 - -### Exercice 1 - -Ecrire, compiler et visualiser le résultat de ce programme -```python - a=input("Saisir une valeur ") - b=a+1 - print(b) -``` - -Interpréter/ corriger le résultat. - -### Exercice 2 -Ecrire un programme qui prend ==l’âge== et la taille de l’utilisateur et les affiches dans un message par exemple : -**Vous avez 21 ans et vous mesurez 1.81 m.** - -### Exercice 3 -Ecrire un programme qui demande à l’utilisateur de saisir une distance (en kilomètre) et le temps (minute) nécessaire pour la parcourir ; votre programme doit calculer la vitesse (en mètre par seconde). Pour rappelle la vitesse= distance/temps - -### Exercice 4 -Ecrire un programme au quel on fournit un nombre de seconde et on le convertir en heure minute et seconde par exemple : 4510 secondes= 1h 15 min 10 sec - -### Exercice 5 -Ecrire un programme qui qui affiche en fonction d’une valeur saisie l’un des messages suivants : -- ”Ce nombre est pair” -- ”Ce nombre est impair, mais est multiple de 3” -- ”Ce nombre n’est ni pair ni multiple de 3” - - -### Exercice 6 -Ecrire un programme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur produit est négatif ou positif. Attention toutefois : on ne doit pas calculer le produit des deux nombres. - -### Exercice 7 -Ecrire un programme qui permet à l’utilisateur de saisir deux nombre ainsi qu’une opération soi + pour l’addition, - pour la soustraction, * pour la multiplication, ou / pour la division. Le programme doit retourner le résultat adéquat à l’opération choisi - -### Exercice 8 -Ecrire un programme qui permet de saisir 4 notes au clavier, ainsi que leurs coefficients respectives, et affiche la moyenne de ces notes: -- **note 1** : 12 -- **coefficient** : 2 -- **note 2** : 15.25 -- **coefficient** : 1 -- **note 3** : 13.5 -- **coefficient** : 4 -- **note 4** : 8.75 -- **coefficient** : 3 -- moyenne de ces 4 notes : 11.95, semestre validé - -Votre programme doit afficher aussi si le semestre est validé (la note >=10), rattrapage (10>note>=7) ou non -validé (note<7) - -### Exercice 9 -Ecrire un programme qui permet de saisir le nom, le prix et la quantité des articles qui constitue une facture. -(Le nombre d’article est fixé à 2). -Le programme doit calculer le totale de la facture. N’oublier pas d’ajouter la TVA pour chaque article (20%) -(MontantTTC=MontantHT + Montant HT*0.2). Votre programme doit afficher le montant totale de chaque -article ainsi que le totale. -Exemple d’exécution : -![ex9](assets/tp1-ex9.png) - -### Exercice 10 -Ecrire un programme qui demande à l’utilisateur de saisir un login et un mot de passe (deux chaines de -caractères). Le programme doit tester si les deux chaines sont égales à « admin » « admin » si c’est le cas on affiche un message de bienvenue sinon on affiche un message à l’utilisateur lui informant que le login et le mot de passe saisie sont incorrecte. - -### Exercice 11 -Créer un programme qui calcule l’indice de masse corporelle (IMC) avec IMC=Pois/taille2 -Afficher un message qui contient l’interprétation du résultat - -| IMC | Interprétation | -| --- | -------------- | -| + de 40 | obésité morbide ou massive | -| 35 à 40 | obésité sévère | -| 30 de 35 | obésité modérée | -| 25 de 30 | Surpoids | -| 18.5 de 25 | corpulence normale | -| 16.5 à 18.5 | Maigreur | -| - de 16.5 | Famine | - -### Exercice 12 -Ecrire un programme qui calcule le salaire des employées d’une société. L’utilisateur doit saisir le grade et le nombre d’heure qu’a travaillé l’employé le payement se fait à base de la grille tarifaire suivante : - -| Grade | Traif horaire | Prime | -| ----- | ------------- | ----- | -| A | 200dh | 1000dh pour chaque 20 heures de travail | -| B | 150dh | 800dh pour chaque 20 heures de travail | -| C | 120dh | 500dh pour chaque 15 heures de travail | -| D | 100dh | 350dh pour chaque 15 heures de travail | -| E | 80dh | 100dh pour chaque 10 heures de travail | - -___ - - -## Série N°2 - -### Exercice 1 -Ecrire un programme qui calcule la valeur de la somme : **a+aa+aaa+aaaa** pour un chiffre que -l’utilisateur saisi au clavier. -Exemple si l’utilisateur saisi 9 le programme doit afficher **9+99+999+9999= 11106** - -### Exercice 2 -Écrire un programme qui affiche la suite de symboles suivante, la taille du triangle doit être saisi par -l’utilisateur: - -![ex2](assets/tp2-ex2.png) - -### Exercice 3 -Ecrire un programme qui génère aléatoirement un entier entre **1 et 100** et à l'utilisateur de deviner ce -nombre en **7 essais**. Le programme vous signale si le nombre que l'utilisateur a saisi est **très grand**, -**très petit**, ou s'il a trouvé le bon nombre, ainsi que le nombre d’essai de l’utilisateur, l’interface du jeu est comme suit : - -![ex3](assets/tp2-ex3.png) - -### Exercice 4 -Soit L une liste qui contient les nombres suivants : **{1,-30,0,-2,500,4,2,100}**, écrire un programme qui permet de créer une nouvelle liste M qui contient les nombres négatifs au début de la liste M et les nombres positifs à la fin de la liste M en gardant leurs ordres. - -### Exercice 5 -Écrire un programme Python qui permet d'insérer une valeur val dans une liste L triée. - -### Exercice 6 -Ecrire un programme qui supprime toutes les occurrences d’un nombre choisi par l’utilisateur - -### Exercice 7 -Ecrire un programme qui supprime tous les redoublants d’une liste L sans ajouter des listes supplémentaires. -**L=[1,2,5,8,6,2,5,9,1,8,8]** devient **[1, 2, 5, 8, 6, 9]** - -### Exercice 8 -Ecrire un programme qui recherche un nombre saisi par l’utilisateur dans une liste. Votre programme doit retourner **le nombre d’occurrences** ainsi que **les indices** (position) de **chaque occurrence**. - -### Exercice 9 -Ecrire un programme qui permet de convertir plusieurs valeurs *« euro en dirham (mad) »* ou *l’inverse*. -- Votre programme doit demander à l’utilisation de choisir la direction de la convention **« euro en mad »** ou **« mad en euro »** -- Ensuite l’utilisateur va saisir autant de valeur qu’il veut. La saisie va **s’arrêter** dès que l’utilisateur a saisi **un nombre négatif**. -- Finalement votre programme affiche les valeurs converties dans la monnaie souhaitée. - -1 mad= 0.092 euro -1 euro = 10.86 mad - -### Exercice 10 -Ecrire un programme qui calcule l’intersection de deux listes L1 et L2 qui la stocke dans une 3eme liste L3. Exemple : -L1= [1,3,6,78,35,88,55] -L2= [12,24,35,24,88,120,155] -L3= [35,88] - -### Exercice 11 -Ecrire un programme qui fait une transformation miroir d’une liste -Exemple la liste **L= [8, 24, 48, 2, 16]** le résultat attendu est : **[16, 2, 48, 24, 8]** - -___ - - -## Série N°3 - -### Exercice 1 - -Ecrire une fonction somme qui prend en paramètres 2 **entiers m et n** et qui retourne la **somme** des entiers de m à n *(on supposera que m < n)*. -Par exemple, somme(5,8) donne 26 (= 5 + 6 + 7 + 8). - - -### Exercice 2 - -#### Équation du second degré : - -1. On se propose de travailler à nouveau sur les équations du second degré en utilisant cette fois- ci des fonctions. -Réaliser les fonctions suivantes (en utilisant les noms imposés): -- Calcul du discriminant : *delta()* -- Calcule du nombre de solutions :*NombreRacine()* -- Affiche le nombre de solutions :*AfficheNombreRacine()* -- Calcule les racines de l’équation : *Racine1()*, *Racine2()* - -2. Ecrire une fonction *conversion_temps(h, m, s)* qui prend en paramètre un horaire écrit sous forme **(heures ,minutes, secondes)** et retourne cet horaire converti en secondes. - -3. En utilisant cette fonction saisir deux horaires (heures, minutes, secondes) et calculer le temps écoulé entre les deux (en secondes). - -4. Ecrire une fonction *conversion_distance(km, m, cm)* qui prend en paramètre une distance écrite sous forme **(Km ,m, cm)** et retourne cette distance en mètres. - -5. Ecrire une fonction vitesse qui prend en paramètre une distance sous forme (Km ,m, cm) et un temps sous forme (heures ,minutes, secondes) et qui retourne la vitesse en **m/s**. - -***N.B:** On utilisera les fonctions **conversion_temps(h, m, s)** et conversion_distance(km, m, cm)* - -___ - - -## Série N°4 - -### Exercice 1 - -Ecrivez une classe *Point* avec les attributs suivants : -**x** : L'abscisse du point; -**y** : L'ordonnée du point. - -La classe *Point* doit contenir les accesseurs (get) et mutateurs (set) et aussi une méthode **\_\_str\_\_()** donnant une représentation du point. - -Ecrivez une classe *Rectangle* héritant de Point avec les attributs suivants : -*longueur* : La longueur du rectangle; -*largeur* : La largeur du rectangle. -La classe *Rectangle* doit contenir des accesseurs (get) et mutateurs (set) et aussi les méthodes suivantes : -**aire()**: Donne l'aire du rectangle; -**\_\_str\_\_()**: Donne une représentation du rectangle (surcharge). - -Ecrivez une classe *Parallelepipede* héritant de Rectangle avec les attributs suivants : -**hauteur** : La hauteur du parallélépipède. -La classe Parallelepipede doit contenir des accesseurs (get) et mutateurs (set) et aussi les les méthodes suivantes : -**aire()** : Donne l'aire du parallélépipède (surcharge); -**volume()** : Donne le volume du parallélépipède; -**\_\_str\_\_()**: Donne une représentation du parallélépipède (surcharge). -Tester les classes. - -### Exercice 2 - -Ecrivez une classe *Batiment* avec les attributs suivants : -**adresse** : L'adresse du bâtiment. -La classe *Batiment* doit contenir des accesseurs (get) et mutateurs (set) pour les différents attributs. La classe Batiment doit contenir une méthode **\_\_str\_\_** donnant une représentation du bâtiment. - -Ecrivez une classe *Maison* héritant de Batiment avec les attributs suivants : -**nbPieces** : Le nombre de pièces de la maison. -La classe *Maison* doit contenir des accesseurs (get) et mutateurs (set) pour les différents attributs. La classe Maison doit contenir une méthode **\_\_str\_\_ ** donnant une représentation de la maison. - -Ecrivez une classe *Immeuble* héritant de Bâtiment avec les attributs suivants : -**nbAppart** : Le nombre d'appartements de l'immeuble. -La classe Immeuble doit contenir des accesseurs (get) et mutateurs (set) pour les différents attributs. La classe Immeuble doit contenir une méthode **\_\_str\_\_** donnant une représentation de l'immeuble. -Tester les classes. - -### Exercice 3 - -Ecrivez une classe abstraite *Employe* avec les attributs suivants : -**nom** : Le nom de famille de l'employé; -**prenom** : Le prénom de l'employé. - -La classe *Employe* doit contenir des accesseurs (get) et mutateurs (set) pour les différents attributs et les méthodes suivantes : -**\_\_str\_\_** : Retourne une représentation d'un employé; -**gains()** : Retourne le salaire (abstraite). - -Ecrivez une classe *Patron* héritant de Employe avec les attributs suivants : -**salaire** : Le salaire mensuel. -La classe Patron doit contenir des accesseurs (get) et mutateurs (set) pour les différents attributs et les méthodes suivantes : -**\_\_str\_\_**: Retourne une représentation du patron; -**gains()** : Retourne le salaire du patron. - -Ecrivez une classe *TravailleurCommission* héritant de Employe avec les attributs suivants : -**salaire** : Le salaire mensuel de base; -**commission** : Montant de la commission par article vendus; -**quantite** : Nombre d'articles vendus par mois. - -La classe *TravailleurCommission* doit contenir des accesseurs (get) et mutateurs (set) pour les différents attributs et les méthodes suivantes : -**\_\_str\_\_**: Retourne une représentation du travailleur à la commission; -**gains()** : Retourne la rétribution totale du travailleur à la commission. - -Ecrivez une classe *TravailleurHoraire* héritant de Employe avec les attributs suivants : -**retribution** : La rétrubution horaire; -**heures** : Le nombre d'heures de travail par mois. - -La classe *TravailleurHoraire* doit contenir des accesseurs (get) et mutateurs (set) pour les différents attributs et les méthodes suivantes : -**\_\_str\_\_**: Retourne une représentation du travailleur horaire; -**gains()**: Retourne la rétribution totale du travailleur horaire. -Tester les classes. Utilisez les propriétés du polymorphisme. \ No newline at end of file diff --git a/TP 01/exercice1.py b/TP 01/exercice1.py deleted file mode 100644 index 6f887d1..0000000 --- a/TP 01/exercice1.py +++ /dev/null @@ -1,3 +0,0 @@ -a = input("Saisir une valeur :") -b = int(a) + 1 -print(b); \ No newline at end of file diff --git a/TP 01/exercice10.py b/TP 01/exercice10.py deleted file mode 100644 index 7226a98..0000000 --- a/TP 01/exercice10.py +++ /dev/null @@ -1,7 +0,0 @@ -login = input("Login : ") -password = input("Password : ") - -if(login == password == "admin"): - print("Bienvenue") -else: - print("login et le mot de passe saisie sont incorrecte") \ No newline at end of file diff --git a/TP 01/exercice11.py b/TP 01/exercice11.py deleted file mode 100644 index 3d6378f..0000000 --- a/TP 01/exercice11.py +++ /dev/null @@ -1,20 +0,0 @@ -pois = float(input("POIS :")) -taille = float(input("TAILLE :")) - -imc = pois/(taille*taille) - -if(imc>=40): - print("obésité morbide ou massive") -elif(imc>=35 and imc < 40): - print("obésité sévère") -elif(imc>=30 and imc < 35): - print("obésité sévère") -elif(imc>=25 and imc < 30): - print("Surpoids") -elif(imc>=18.5 and imc < 25): - print("corpulence normale") -elif(imc>=16.5 and imc < 18.5): - print("Maigreur") -else: - print("Famine") - diff --git a/TP 01/exercice12.py b/TP 01/exercice12.py deleted file mode 100644 index 648b486..0000000 --- a/TP 01/exercice12.py +++ /dev/null @@ -1,15 +0,0 @@ -grade = input("Donnez le grade de l'employé : ") -nbr_heures = float(input("Donnez nombre d'heure qu'a travaillé l'employé : ")) - -if(grade == "A"): - print(f"salaire = (200*{nbr_heures}) + (1000*{nbr_heures/20})= {200*nbr_heures + 1000*(nbr_heures/20)}") -elif(grade == "B"): - print(f"salaire = (150*{nbr_heures}) + (800*{nbr_heures/20})= {150*nbr_heures + 1000*(nbr_heures/20)}") -elif(grade == "C"): - print(f"salaire = (120*{nbr_heures}) + (500*{nbr_heures/15})= {120*nbr_heures + 500*(nbr_heures/15)}") -elif(grade == "D"): - print(f"salaire = (100*{nbr_heures}) + (350*{nbr_heures/15})= {100*nbr_heures + 350*(nbr_heures/15)}") -elif(grade == "E"): - print(f"salaire = (80*{nbr_heures}) + (100*{nbr_heures/10})= {80*nbr_heures + 100*(nbr_heures/10)}") -else: - print("Error , choisi le grade entre A et E") \ No newline at end of file diff --git a/TP 01/exercice2.py b/TP 01/exercice2.py deleted file mode 100644 index 5a86030..0000000 --- a/TP 01/exercice2.py +++ /dev/null @@ -1,4 +0,0 @@ -age = input("Donnez votre age : ") -taille = input("Donnez votre taille : ") - -print(f"Vous avez {age} ans et vous mesurez {taille} m.") \ No newline at end of file diff --git a/TP 01/exercice3.py b/TP 01/exercice3.py deleted file mode 100644 index 5244fb5..0000000 --- a/TP 01/exercice3.py +++ /dev/null @@ -1,6 +0,0 @@ -distance = float(input(("Donnez la distance en kilometre : "))) -temps = float(input(("Donnez le temps en minute : "))) - -vitesse = (distance * 1000) / (temps*60) - -print (f"La vitesse est : {vitesse}") diff --git a/TP 01/exercice4.py b/TP 01/exercice4.py deleted file mode 100644 index 283d4e8..0000000 --- a/TP 01/exercice4.py +++ /dev/null @@ -1,7 +0,0 @@ -number = int(input("Donnez le nombre de secondes : ")) - -number_en_heure = number // 3600 -number_en_minute = (number % 3600) // 60 -number_en_seconds = (number % 60) - -print(f"{number} sec = {number_en_heure} h {number_en_minute} min {number_en_seconds} s") diff --git a/TP 01/exercice5.py b/TP 01/exercice5.py deleted file mode 100644 index 026a602..0000000 --- a/TP 01/exercice5.py +++ /dev/null @@ -1,11 +0,0 @@ -def pair_detector(n): - if(n%2 == 0): - return "Ce nombre est pair" - elif (n%3 == 0): - return "Ce nombre est impair, mais est multiple de 3" - else: - return "Ce nombre n'est ni pair ni multiple de 3" - - - -print(pair_detector(11)) diff --git a/TP 01/exercice6.py b/TP 01/exercice6.py deleted file mode 100644 index 0262553..0000000 --- a/TP 01/exercice6.py +++ /dev/null @@ -1,9 +0,0 @@ -a = int(input("Donnez le nombre 1 : ")) -b = int(input("Donnez le nombre 2 : ")) - -if (a > 0 and b > 0) or (a < 0 and b < 0): - print("Le produit est positif") -elif a == 0 or b == 0: - print("Le produit est nul") -else: - print("Le produit est négatif") diff --git a/TP 01/exercice7.py b/TP 01/exercice7.py deleted file mode 100644 index f94cd4a..0000000 --- a/TP 01/exercice7.py +++ /dev/null @@ -1,18 +0,0 @@ -x = float(input("Donner nombre 1 : ")) -y = float(input("Donner nombre 2 : ")) -oper = input("Donner l'operation: ") - -if(oper == "+"): - print(f"{x} + {y} = {x+y}") -elif(oper == "-"): - print(f"{x} - {y} = {x-y}") -elif(oper == "*"): - print(f"{x} * {y} = {x*y}") -elif(oper == "/"): - if(y==0): - print("Impossible de division par zero") - else: - print(f"{x} / {y} = {x/y}") -else: - print("Operation Impossible (choisir parmi : + , - , * et /)") - diff --git a/TP 01/exercice8.py b/TP 01/exercice8.py deleted file mode 100644 index bee080d..0000000 --- a/TP 01/exercice8.py +++ /dev/null @@ -1,21 +0,0 @@ -notes = [] -coefs = [] -somme = 0 - -for i in range(1,5): - notes.append(float(input(f"note {i} : "))) - coefs.append(float(input(f"coefficient {i} : "))) - -for i in range(0,4): - somme += notes[i]*coefs[i] - -moyenne = somme/10 - -if(moyenne >= 10): - print(f"moyenne de ces 4 notes : {somme}, semestre validé") -elif(moyenne > 7 and moyenne < 10): - print(f"moyenne de ces 4 notes : {somme}, semestre rattrapage") -else: - print(f"moyenne de ces 4 notes : {somme}, semestre non validé") - - diff --git a/TP 01/exercice9.py b/TP 01/exercice9.py deleted file mode 100644 index 3173a98..0000000 --- a/TP 01/exercice9.py +++ /dev/null @@ -1,20 +0,0 @@ -nbr_articles = 2 -tva = 0.2 -total_facture = 0 -articles = [] -quantity = [] -prix = [] - - -for i in range(1,nbr_articles+1): - articles.append(input(f"Donner le nom du {i} article : ")) - quantity.append(int(input(f"Donner la quantity du {i} article : "))) - prix.append(float(input(f"Donner le prix unitaire du {i} article : "))) - -for i in range(0,nbr_articles): - p = prix[i]*quantity[i] - total_facture += p+ p*tva - print(f"Total de l'article {articles[i]} : {p} dh (ht)") - -print(f"Le total de votre facture est : {total_facture} (TTC)") - diff --git a/TP 02/exercice1.py b/TP 02/exercice1.py deleted file mode 100644 index eed4d7d..0000000 --- a/TP 02/exercice1.py +++ /dev/null @@ -1,10 +0,0 @@ -n = int(input("Donner n : ")) - -somme = 0 -chiffres = [n, n*10 + n, n*10 + n, n*1000 + n*100 + n*10 + n] - -for chiffre in chiffres: - print(chiffre) - somme += chiffre - -print(f"La somme est : {somme}") \ No newline at end of file diff --git a/TP 02/exercice10.py b/TP 02/exercice10.py deleted file mode 100644 index c75a6a2..0000000 --- a/TP 02/exercice10.py +++ /dev/null @@ -1,9 +0,0 @@ -L1 = [1, 3, 6, 78, 35, 88, 55] -L2 = [12, 24, 35, 24, 88, 120, 155] -L3 = [] - -for element in L1: - if element in L2 and element not in L3: - L3.append(element) - -print("Intersection des listes L1 et L2 :", L3) diff --git a/TP 02/exercice11.py b/TP 02/exercice11.py deleted file mode 100644 index de084f4..0000000 --- a/TP 02/exercice11.py +++ /dev/null @@ -1,9 +0,0 @@ -L = [8, 24, 48, 2, 16] - -# Methode 1 -L.reverse() - -# Methode 2 -# L = L[::-1] - -print(L) diff --git a/TP 02/exercice2.py b/TP 02/exercice2.py deleted file mode 100644 index f3d3c00..0000000 --- a/TP 02/exercice2.py +++ /dev/null @@ -1,17 +0,0 @@ -choix = input("Triangle de symboles(S) ou Triangle de chiffres(C) (Entrer S ou C) : ") -n = int(input("Entrer un nombre: ")) - -if(choix == "S" or choix == "s"): - for i in range(1,n+1): - for j in range(1,i+1): - print("*",end=" ") - print("") - -elif(choix == "C" or choix == "c"): - for i in range(1,n+1): - for j in range(1,i+1): - print(i,end=" ") - print("") -else: - print("Choisir S ou C") - diff --git a/TP 02/exercice3.py b/TP 02/exercice3.py deleted file mode 100644 index d9c793a..0000000 --- a/TP 02/exercice3.py +++ /dev/null @@ -1,31 +0,0 @@ -import random - -print("####################################################") -print("##### ON VA JOUR UN PETIT JEU #####") -print("##### JE VOUS GENERER UN NOMBRE ENTRE 1 ET 100 #####") -print("##### ET TU VAS LE DEVENEZ EN 7 ESSAIS #####") -print("####################################################") -print("####################################################") - -number_generated = random.randint(1,101) - -for i in range(1,8): - number = int(input("Entrer un nombre : ")) - if(number > 100 or number < 0): - print("OUPS , vous avez choisi un nomber en dehors de l'entervallle!") - - elif(number > number_generated): - print("Oups, entrer un nombre plus petit") - - elif(number < number_generated): - print("Oups, entrer un nombre plus grad") - - elif(number == number_generated): - print(f"Bravo, {number_generated} est le nombre qui j'ai choisit") - print(f"vous l'avez devine {8-i} essais") - break; - -if(i == 7): - print("J'ai gange, je suis le MEILLEU") - print(f"Le nombre que j'ai devine est {number_generated}") - print("Au revoir") \ No newline at end of file diff --git a/TP 02/exercice4.py b/TP 02/exercice4.py deleted file mode 100644 index b4a5985..0000000 --- a/TP 02/exercice4.py +++ /dev/null @@ -1,12 +0,0 @@ -L = [1, -30, 0, -2, 500, 4, 2, 100] -M = [] - -i = 0 -for n in L: - if n < 0: - M.insert(i, n) - i += 1 - else: - M.append(n) - -print(M) diff --git a/TP 02/exercice5.py b/TP 02/exercice5.py deleted file mode 100644 index 86f7061..0000000 --- a/TP 02/exercice5.py +++ /dev/null @@ -1,10 +0,0 @@ -L = [1, 3, 5, 7, 9] -val = int(input("Donner un nombre : ")) - -index = 0 -while index < len(L) and L[index] < val: - index += 1 - -L.insert(index, val) - -print(f"L = {L}") \ No newline at end of file diff --git a/TP 02/exercice6.py b/TP 02/exercice6.py deleted file mode 100644 index fa1a5ec..0000000 --- a/TP 02/exercice6.py +++ /dev/null @@ -1,10 +0,0 @@ -L1 = [1, 2, 3, 4, 5, 1, 1, 2, 3] -L2 =[] - -n = int(input("Choisissez un nombre à supprimer : ")) - -for nombre in L1: - if nombre != n: - L2.append(nombre) - -print(L2) diff --git a/TP 02/exercice7.py b/TP 02/exercice7.py deleted file mode 100644 index d4a8382..0000000 --- a/TP 02/exercice7.py +++ /dev/null @@ -1,8 +0,0 @@ -L = [1, 2, 5, 8, 6, 2, 5, 9, 1, 8, 8] - -for valeur in L: - while L.count(valeur) > 1: - L.remove(valeur) - -L.sort() -print(L) diff --git a/TP 02/exercice8.py b/TP 02/exercice8.py deleted file mode 100644 index cad835d..0000000 --- a/TP 02/exercice8.py +++ /dev/null @@ -1,16 +0,0 @@ -liste = [7, 9, 1, 3, 5, 2, 7, 4, 8, 9, 4, 9] - -n = int(input("Entrez le nombre que vous souhaitez rechercher : ")) - -occurrences = [] -indices = [] - -for i in range(len(liste)): - if liste[i] == n: - occurrences.append(i) - indices.append(i) - -if len(occurrences) == 0: - print(f"Le nombre {n} n'a pas été trouvé dans la liste.") -else: - print("Le nombre", n, "a été trouvé", len(occurrences), "fois aux indices:", indices) diff --git a/TP 02/exercice9.py b/TP 02/exercice9.py deleted file mode 100644 index a0ec574..0000000 --- a/TP 02/exercice9.py +++ /dev/null @@ -1,27 +0,0 @@ -def euro_to_mad(euro): - return euro * 10.86 - -def mad_to_euro(mad): - return mad * 0.092 - -choix = input("Choisissez la direction de conversion (euro-mad ou mad-euro) : ").lower() - -valeurs = [] - -while True: - valeur = float(input("Saisissez une valeur (nombre négatif pour arrêter) : ")) - if valeur < 0: - break - valeurs.append(valeur) - -converted_valeurs = [] - -for valeur in valeurs: - if choix == "euro-mad": - converted_valeurs.append(euro_to_mad(valeur)) - elif choix == "mad-euro": - converted_valeurs.append(mad_to_euro(valeur)) - -print("Valeurs converties :") -for i in range(len(valeurs)): - print(f"{valeurs[i]} {'euro' if choix == 'euro-mad' else 'mad'} = {converted_valeurs[i]} {'euro' if choix == 'mad-euro' else 'mad'}") diff --git a/TP-03/exercice1.py b/TP-03/exercice1.py deleted file mode 100644 index dfab040..0000000 --- a/TP-03/exercice1.py +++ /dev/null @@ -1,10 +0,0 @@ -def somme(n, m): - s = 0 - for i in range(n,m+1): - s += i - return s - - -x = int(input("Donner n = ")) -y = int(input("Donner m (m>n) = ")) -print(f"somme({x},{y}) donne {somme(x,y)}") \ No newline at end of file diff --git a/TP-03/exercice2.py b/TP-03/exercice2.py deleted file mode 100644 index 993326b..0000000 --- a/TP-03/exercice2.py +++ /dev/null @@ -1,36 +0,0 @@ -import math - -def delta(a,b,c): - return pow(b,2) - 4*a*c - -def NombreRacine(a,b,c): - d = delta(a,b,c) - if(d>0): - return 2 - elif(d==0): - return 1 - else: - return 0 - -def AfficheNombreRacine(a,b,c): - print(NombreRacine(a,b,c)) - -def Racine1(a,b,c): - return (-b-math.sqrt(delta(a,b,c)))/(2*a) - -def Racine2(a,b,c): - return (-b+math.sqrt(delta(a,b,c)))/(2*a) - -def conversion_temps(h, m, s): - return h*3600 + m*60 + s - -def conversion_distance(km, m, cm): - if(cm == 0): - return km*1000 + m - else: - return km*1000 + m + cm/100 - -def vitesse(km, m, cm, h, min, s): - return conversion_distance(km, m, cm) - conversion_temps(h, min, s) - -print(f"le temps écoulé entre 1h 32min 45s et 0h 55min 10s (en secondes) est : {conversion_temps(1,32,45)-conversion_temps(0,55,10)}") \ No newline at end of file diff --git a/TP-04/exercice1.py b/TP-04/exercice1.py deleted file mode 100644 index b9aa0f3..0000000 --- a/TP-04/exercice1.py +++ /dev/null @@ -1,82 +0,0 @@ -class Point: - def __init__(self, x, y): - self.x = x - self.y = y - - def getX(self): - return self.__x - - def getY(self): - return self.__x - - def setX(self,a): - self.__x = a - - def setY(self,b): - self.__y = b - - def __str__(self): - return f"p=({self.x}, {self.y})" - - -class Rectangle(Point): - def __init__(self, x, y, longueur, largeur): - super().__init__(x,y) - self.longueur = longueur - self.largeur = largeur - - def getLongeur(self): - return self.__longueur - - def getLargeur(self): - return self.__largeur - - def setLongeur(self, value): - self.__longueur = value - - def setLargeur(self, value): - self.__largeur = value - - def aire(self): - return self.longueur * self.largeur - - def __str__(self): - return f"{super().__str__()} , r=({self.longueur}, {self.largeur})" - - -class Parallelepipede(Rectangle): - def __init__(self, x, y, longueur, largeur, hauteur): - super().__init__(x, y, longueur, largeur) - self.hauteur = hauteur - - def getHauteur(self): - return self.__hauteur - - def setHauteur(self,hauteur): - self.__hauteur = hauteur - - def aire(self): - return 2 * (self.longueur * self.largeur + self.longueur * self.hauteur + self.largeur * self.hauteur) - - - def volume(self): - return self.longueur * self.largeur * self.hauteur - - - def __str__(self): - return f"{super().__str__()} , h={self.hauteur})" - - - -point = Point(1, 2) -print(point) - -rectangle = Rectangle(3, 4, 5, 6) -print(rectangle) -print(rectangle.aire()) - - -parallepipede = Parallelepipede(1, 2, 3, 4, 5) -print(parallepipede) -print(parallepipede.aire()) -print(parallepipede.volume()) \ No newline at end of file diff --git a/TP-04/exercice2.py b/TP-04/exercice2.py deleted file mode 100644 index 9026e31..0000000 --- a/TP-04/exercice2.py +++ /dev/null @@ -1,52 +0,0 @@ -class Batiment(): - def __init__(self, adresse): - self.adresse = adresse - - def getAdresse(self): - return self.__adresse - - def setAdresse(self,adresse): - self.__adresse = adresse - - def __str__(self) : - return f"adresse : {self.adresse}" - - -class Maison(Batiment): - def __init__(self, adresse, nbPieces): - super().__init__(adresse) - self.nbPieces = nbPieces - - def getNbPieces(self): - return self.__nbPieces - - def setNbPieces(self, nbPieces): - self.__nbPieces = nbPieces - - def __str__(self) : - return f"{super().__str__()}, nbPieces : {self.nbPieces}" - - -class Immeuble(Maison): - def __init__(self, adresse, nbPieces, nbAppart): - super().__init__(adresse, nbPieces) - self.nbAppart = nbAppart - - def getNbAppart(self): - return self.__nbAppart - - def setNbAppart(self,nbAppart): - self.__nbAppart = nbAppart - - def __str__(self) : - return f"{super().__str__()}, nbAppart : {self.nbAppart}" - - -b = Batiment("Morocco") -print(b) - -m = Maison("Morocco", 3) -print(m) - -i = Immeuble("Morocco", 3, 15) -print(i) \ No newline at end of file diff --git a/TP-04/exercice3.py b/TP-04/exercice3.py deleted file mode 100644 index e23b8d8..0000000 --- a/TP-04/exercice3.py +++ /dev/null @@ -1,105 +0,0 @@ -class Employe: - def __init__(self, nom, prenom): - self.nom = nom - self.prenom = prenom - - def get_nom(self): - return self.nom - - def set_nom(self, nom): - self.nom = nom - - def get_prenom(self): - return self.prenom - - def set_prenom(self, prenom): - self.prenom = prenom - - def gains(self): - pass - - def __str__(self): - return f"Employe: {self.prenom} {self.nom}" - -class Patron(Employe): - def __init__(self, nom, prenom, salaire): - super().__init__(nom, prenom) - self.salaire = salaire - - def get_salaire(self): - return self.salaire - - def set_salaire(self, salaire): - self.salaire = salaire - - def gains(self): - return self.salaire - - def __str__(self): - return f"Patron: {self.prenom} {self.nom}" - -class TravailleurCommission(Employe): - def __init__(self, nom, prenom, salaire, commission, quantite): - super().__init__(nom, prenom) - self.salaire = salaire - self.commission = commission - self.quantite = quantite - - def get_salaire(self): - return self.salaire - - def set_salaire(self, salaire): - self.salaire = salaire - - def get_commission(self): - return self.commission - - def set_commission(self, commission): - self.commission = commission - - def get_quantite(self): - return self.quantite - - def set_quantite(self, quantite): - self.quantite = quantite - - def gains(self): - return self.salaire + (self.commission * self.quantite) - - def __str__(self): - return f"TravailleurCommission: {self.prenom} {self.nom}" - -class TravailleurHoraire(Employe): - def __init__(self, nom, prenom, retribution, heures): - super().__init__(nom, prenom) - self.retribution = retribution - self.heures = heures - - def get_retribution(self): - return self.retribution - - def set_retribution(self, retribution): - self.retribution = retribution - - def get_heures(self): - return self.heures - - def set_heures(self, heures): - self.heures = heures - - def gains(self): - return self.retribution * self.heures - - def __str__(self): - return f"TravailleurHoraire: {self.prenom} {self.nom}" - -# On test les classes -employes = [ - Patron("Nom1", "Prenom1", 5000), - TravailleurCommission("Nom2", "Prenom2", 2000, 5, 100), - TravailleurHoraire("Nom3", "Prenom3", 15, 120) -] - -for employe in employes: - print(employe) - print(f"Gains: {employe.gains()} dirhams\n") diff --git a/assets/tp1-ex9.png b/assets/tp1-ex9.png deleted file mode 100644 index bb0e8b7..0000000 Binary files a/assets/tp1-ex9.png and /dev/null differ diff --git a/assets/tp2-ex2.png b/assets/tp2-ex2.png deleted file mode 100644 index d2b3129..0000000 Binary files a/assets/tp2-ex2.png and /dev/null differ diff --git a/assets/tp2-ex3.png b/assets/tp2-ex3.png deleted file mode 100644 index 6f1c709..0000000 Binary files a/assets/tp2-ex3.png and /dev/null differ diff --git a/test.py.txt b/test.py.txt new file mode 100644 index 0000000..e69de29