Outils pour utilisateurs

Outils du site


Panneau latéral

Navigation

Plan auto

programmation:python:controle1_correction

Contrôle 1 - correction

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()
programmation/python/controle1_correction.txt · Dernière modification: 26/11/2018 17:35 par sky99