Voici le code corrigé du Contrôle 1 - fonctions :
#! /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()