Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
|
programmation:python:controle1_correction [26/11/2018 14:36] sky99 créée |
programmation:python:controle1_correction [26/11/2018 17:35] (Version actuelle) sky99 |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Contrôle 1 - correction ====== | ====== Contrôle 1 - correction ====== | ||
| - | Ne rêvez pas :) | + | Voici le code corrigé du [[programmation:python:controle1|]] : |
| + | <code python> | ||
| + | #! /usr/bin/env python3 | ||
| + | """ | ||
| + | Corrigé du contrôle1 | ||
| + | """ | ||
| + | |||
| + | def question1(): | ||
| + | """ | ||
| + | Fonction qui affiche deux chaines (question1) | ||
| + | """ | ||
| + | print("question1") | ||
| + | print("ceci est une fonction") | ||
| + | print("cette fonction est simple") | ||
| + | return True | ||
| + | |||
| + | |||
| + | def question2(nb1, nb2): | ||
| + | """ | ||
| + | Fonction qui fait la somme de deux nombres (question2) | ||
| + | Attributes: | ||
| + | nb1 (int): Le premier nombre | ||
| + | nb2 (int): Le second nombre | ||
| + | Returns : | ||
| + | int: la somme des deux nombres | ||
| + | """ | ||
| + | print("question2") | ||
| + | somme = nb1 + nb2 | ||
| + | print(nb1, "+", nb2, " = ", somme) | ||
| + | return somme | ||
| + | |||
| + | |||
| + | def question3(nb1, nb2): | ||
| + | """ | ||
| + | Fonction qui indique si un nombre est plus grand, plus petit ou égal au | ||
| + | second nombre (question3) | ||
| + | Attributes: | ||
| + | nb1 (int): Le premier nombre | ||
| + | nb2 (int): Le second nombre | ||
| + | Returns : | ||
| + | bool: True si le premier nombre est plus grand que le second, | ||
| + | false sinon. | ||
| + | """ | ||
| + | print("question3") | ||
| + | if nb1 > nb2: | ||
| + | print(nb1, "est plus grand que ", nb2) | ||
| + | return True | ||
| + | elif nb1 < nb2: | ||
| + | print(nb1, "est plus grand que ", nb2) | ||
| + | else: | ||
| + | print(nb1, " est égal à ", nb2) | ||
| + | return False | ||
| + | |||
| + | |||
| + | def question4(nb1, nb2): | ||
| + | """ | ||
| + | Fonction qui affiche les entiers entre nb1 et nb2 (question4) | ||
| + | Attributes: | ||
| + | nb1 (int): Le premier nombre de la liste à afficher (inclus) | ||
| + | nb2 (int): Le dernier nombre de la liste à afficher (inclus) | ||
| + | """ | ||
| + | print("question4") | ||
| + | print("liste des nombres compris entre ", nb1, "et", nb2, ":") | ||
| + | for i in range(nb1, nb2+1): | ||
| + | print(i) | ||
| + | |||
| + | |||
| + | def question5(): | ||
| + | """ | ||
| + | Fonction demande la saise du nom, puis l'affiche (question5) | ||
| + | Returns : | ||
| + | String: Le nom de l'utilisateur | ||
| + | """ | ||
| + | print("question5") | ||
| + | print("veuillez saisir votre nom : ") | ||
| + | name = input() | ||
| + | print("Bonjour, ", name) | ||
| + | return name | ||
| + | |||
| + | |||
| + | def question6(): | ||
| + | """ | ||
| + | Fonction qui demande la saisie de l'age (question6) | ||
| + | Returns : | ||
| + | int: L'age de l'utilisateur | ||
| + | """ | ||
| + | print("question6") | ||
| + | print("veuillez saisir votre age : ") | ||
| + | age = int(input()) | ||
| + | if age >= 18: | ||
| + | print("vous êtes majeur(e)") | ||
| + | else: | ||
| + | print("vous êtes mineur(e)") | ||
| + | return age | ||
| + | |||
| + | |||
| + | def question7(): | ||
| + | """ | ||
| + | Fonction qui demande la saisie de l'age et vérifie que l'age est positif | ||
| + | (question7) | ||
| + | Returns : | ||
| + | int: L'age de l'utilisateur | ||
| + | """ | ||
| + | print("question7") | ||
| + | age = -1 | ||
| + | while age <= 0: | ||
| + | print("veuillez saisir votre age (nombre positif) : ") | ||
| + | age = int(input()) | ||
| + | if age >= 18: | ||
| + | print("vous êtes majeur(e)") | ||
| + | else: | ||
| + | print("vous êtes mineur(e)") | ||
| + | return age | ||
| + | |||
| + | |||
| + | def question8(): | ||
| + | """ | ||
| + | Fonction qui demande la saisie de l'age, vérifie que l'age est positif | ||
| + | et protège des erreurs(question8) | ||
| + | Returns : | ||
| + | int: L'age de l'utilisateur | ||
| + | """ | ||
| + | print("question8") | ||
| + | age = -1 | ||
| + | while age <= 0: | ||
| + | try: | ||
| + | print("veuillez saisir votre age (nombre positif): ") | ||
| + | age = int(input()) | ||
| + | except ValueError: | ||
| + | print("erreur de saisie!") | ||
| + | age = -1 | ||
| + | if age >= 18: | ||
| + | print("vous êtes majeur(e)") | ||
| + | else: | ||
| + | print("vous êtes mineur(e)") | ||
| + | return age | ||
| + | |||
| + | |||
| + | def question9(): | ||
| + | """ | ||
| + | Fonction qui demande la saisie du genre (1 pour femme, 2 pour homme, | ||
| + | 3 pour autre) (question7) | ||
| + | Returns : | ||
| + | int: Le genre de l'utilisateur (1, 2 ou 3) | ||
| + | """ | ||
| + | print("question9") | ||
| + | genre = 0 | ||
| + | # Version plus basique de la condition en commentaire ci dessous : | ||
| + | # while genre != 1 and genre != 2 and genre != 3: | ||
| + | while genre not in (1, 2, 3): | ||
| + | # vous pourriez vous contenter des deux lignes commentées ci dessous : | ||
| + | # print("Saisie du genre : 1 pour femme, 2 pour homme, 3 pour autre") | ||
| + | # genre = int(input()) | ||
| + | # Le bloc try/except est facultatif : | ||
| + | try: | ||
| + | print("Saisie du genre : 1 pour femme, 2 pour homme, 3 pour autre") | ||
| + | genre = int(input()) | ||
| + | except ValueError: | ||
| + | print("erreur de saisie!") | ||
| + | genre = 0 | ||
| + | return genre | ||
| + | |||
| + | |||
| + | def question10(): | ||
| + | """ | ||
| + | Fonction qui demande le nom, l'age et le genre, puis affiche un résumé. | ||
| + | Cette fonction utilise les fonctions question5(), question8() | ||
| + | et question9(). | ||
| + | L'affichage est personnalisé en fonction du genre. | ||
| + | """ | ||
| + | print("question10") | ||
| + | nom = question5() | ||
| + | age = question8() | ||
| + | genre = question9() | ||
| + | |||
| + | print("Nom : ", nom) | ||
| + | if genre == 1: | ||
| + | print("Femme") | ||
| + | if age >= 18: | ||
| + | print("Majeure (", age, " ans)") | ||
| + | else: | ||
| + | print("Mineure (", age, " ans)") | ||
| + | elif genre == 2: | ||
| + | print("Homme") | ||
| + | if age >= 18: | ||
| + | print("Majeur (", age, " ans)") | ||
| + | else: | ||
| + | print("Mineur (", age, " ans)") | ||
| + | else: | ||
| + | print("Autre") | ||
| + | if age >= 18: | ||
| + | print("Majeur(e) (", age, " ans)") | ||
| + | else: | ||
| + | print("Mineur(e) (", age, " ans)") | ||
| + | |||
| + | |||
| + | def main(): | ||
| + | """ | ||
| + | Fonction principale du programme, qui appelle chaque fonction | ||
| + | succéssivement afin de toutes les tester. | ||
| + | """ | ||
| + | question1() | ||
| + | question2(5, 9) | ||
| + | question3(6, 9) | ||
| + | question4(6, 9) | ||
| + | question5() | ||
| + | question6() | ||
| + | question7() | ||
| + | question8() | ||
| + | question9() | ||
| + | question10() | ||
| + | |||
| + | |||
| + | if __name__ == "__main__": | ||
| + | main() | ||
| + | |||
| + | </code> | ||