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> |