IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Problème d'affichage python


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 6
    Par défaut Problème d'affichage python
    Bonjour à vous tous!

    J'ai a faire un programme avec l'aide de fonction... Ce que je pense avoir bien réussi, mais au moment de l'affichage tout les données sont a 0. Pourquoi ?

    Voici mon code :

    # Déclaration et initialisation des constantes
    # (Utilisable dans les fonctions et dans le programme principal)
    TX_BONUS1 = 5
    TX_BONUS2 = 10
    TX_BONUS3 = 15
    TX_AUGMENTATION1 = 1.5
    TX_AUGMENTATION2 = 2.5
    TX_AUGMENTATION3 = 3.5
    MINIMUM_NOTE_EVALUATION = 1.00
    MAXIMUM_NOTE_EVALUATION = 10.00
    SALAIRE_MINIMUM = 0.0
    GRAND_N = "N"
    PETIT_N = "n"
    GRAND_O = "O"
    PETIT_O = "o"



    # Description : Affichage d'une brève description de ce fait le logiciel
    def presenterLogiciel ():
    print ("BIENVENUE")
    print ("Ce programme à pour but de calculer votre bonus et votre augmentation de salaire")
    print ("--------------------------------------------------------------------------------")

    # Description : Affichage d'un bref message à la fermeture du logiciel
    def fermetureProgramme ():
    print("Merci d'avoir utilisé ce programme")
    print("Au revoir!")

    # Description : Saisir, valider et retourner la réponse à une question.
    # Retour : la réponse à la question à retourner.
    def question():
    # Variables locale
    continuation = ""

    continuation = input("Désirez-vous calculer votre bonus et votre augmentation? (O ou o = OUI, N ou n = NON) : ")
    while (continuation != PETIT_N and continuation != GRAND_N and continuation != PETIT_O and continuation != GRAND_O) :
    print(" Réponse invalide !")
    continuation = input("Désirez-vous calculer votre bonus et votre augmentation? (O ou o = OUI, N ou n = NON) : ")

    return continuation

    # Description : Saisie et valide l'entré de la matricule
    # Retour : Le matricule à retourner
    def saisieMatricule():
    # Variable locale
    matricule = ""

    while not(len(matricule)==6 and matricule[:4].isalpha() and matricule[-2:].isdigit()):
    print("Le matricule doit commencer par 4 lettres et finir par 2 chiffres")
    matricule = input("Entrer votre matricule:")
    return matricule


    # Description : Saisir la nom et la retourne
    # Retour : Le nom à retourner
    def saisieNom():
    # Variable locale
    nom = ""
    execption = " '-"

    while not(len(nom)<= 20 and len(nom)>= 3 and nom.isalpha()):
    print("Doit avoir au minimum 3 lettres et au maximum 20")
    nom = input("Entrer votre nom:")
    return nom


    # Description : Saisir la prenom et la retourne
    # Retour : Le prénom à retourner
    def saisiePrenom():
    # Variable locale
    prenom = ""
    execption = " '-"

    while not(len(prenom)<= 20 and len(prenom)>= 3 and prenom.isalpha()):
    print("Doit avoir au minimum 3 lettres et au maximum 20")
    prenom = input("Entrer votre prenom:")
    return prenom

    # Description : Saisir le salaire et la retourne
    # Retour : Le salaire à retourner
    def saisieSalaire():
    # Variable locale
    salaire = 0.00

    while not(salaire > SALAIRE_MINIMUM):
    salaire = float(input("Entrer votre salaire:"))
    return salaire

    # Description : Saisir la note de performance et la retourne
    # Retour : Le note de performance à retourner
    def saisieNotePerformance():
    # Variable locale
    notePerformance = 0.00

    while not(notePerformance >= MINIMUM_NOTE_EVALUATION and notePerformance <= MAXIMUM_NOTE_EVALUATION):
    print ("Doit etre supérieur à 1.00 et inférieur à 10.00")
    notePerformance = float(input("Entrer votre nom d'évaluation:"))
    return notePerformance


    # Description : Calcul le montant du bonus et la retourne
    # Paramètre : "notePerformance" est le critère pour choisir le taux d'augmentation à appliquer
    # Paramètre: "salaire" est le salaire de l'employé
    # Retour : Le montant du bonus à retourner
    def calculMontantBonus(notePerformance, salaire):
    # Variable Locale
    montantBonus = 0.00

    if notePerformance <= 4.99 :
    montantBonus = salaire * (TX_BONUS1/100)

    elif notePerformance >= 5 and note_performance <= 7.99:
    montantBonus = salaire * (TX_BONUS2/100)


    else:
    montantBonus = salaire * (TX_BONUS3/100)

    return montantBonus

    # Description : Calcul le montant de l'augmentation et la retourne
    # Paramètre : "salaire" est le salaire de l'employé
    # Paramètre : "notePerformance" est le critère pour choisir le taux d'augmentation à appliquer
    # Retour : Le montant de l'augmentation à retourner
    def calculAugmentation(notePerformance, salaire):
    # Variable Locale
    montantAugmentation = 0.00


    if notePerformance <= 4.99 :
    montantAugmentation = salaire * (TX_AUGMENTATION1/100)

    elif notePerformance >= 5 and note_performance <= 7.99:
    montantAugmentation = salaire * (TX_AUGMENTATION2/100)


    else:
    montantAugmentation = salaire * (TX_AUGMENTATION3/100)

    return montantAugmentation

    # Description : Calcul le salaire après augmentation
    # Paramètre : "salaire" est le salaire de l'employé
    # Paramètre : "montantAugmentation" est le montant de l'augmentation de salaire de l'employé
    # Retour : Le montant du salaire après augmentation à retourner
    def calculSalaireTotal(montantAugmentation, salaire):
    # Variable Locale
    salaireTotal = 0.00

    salaireTotal = montantAugmentation + salaire

    return salaireTotal

    # Description : Afficher les informations
    # Paramètre : "achat" est le montant d'achat à afficher
    # Paramètre : "tps" est la taxe TPS à afficher.
    # Paramètre : "tvq" est la taxe TVQ à afficher.
    # Paramètre : "total" est le total de la facture.
    def affichage(matricule, nom, prenom, salaire, notePerformance, montantBonus, montantAugmentation, salaireTotal):

    print("Votre matricule =",matricule, "Votre nom =" ,nom, "Votre prénom =" ,prenom,"Votre salaire = %.2f" %salaire, "Votre note d'évaluation = %.2f" %notePerformance, "Votre bonus =",montantBonus, "Votre augmenation = " ,montantAugmentation, "Votre salaire total =" ,salaireTotal, sep ="|")

    #****************************************************************
    # DÉBUT - PROGRAMME PRINCIPAL #
    #****************************************************************

    # Déclaration et initialisation des variables

    continuation = ""
    matricule = ""
    nom = ""
    prenom = ""
    salaire = 0.00
    notePerformance = 0.00
    montantBonus = 0.00
    montantAugmentation = 0.00
    salaireTotal = 0.00

    # Présentation du logiciel

    presenterLogiciel()


    # Demander à l’utilisateur s’il désire calculer un bonus et une augmentation

    continuation = question()

    while (continuation == GRAND_O) or (continuation == PETIT_O):


    # Bloc de saisi
    if (continuation == "O") or (continuation == "o"):

    saisieMatricule()

    saisieNom()

    saisiePrenom()

    saisieSalaire()

    saisieNotePerformance()


    # Bloc de calcul

    calculMontantBonus(notePerformance, salaire)

    calculAugmentation(notePerformance, salaire)

    calculSalaireTotal(montantAugmentation, salaire)


    # Bloc d'affichage

    affichage(matricule, nom, prenom, salaire, notePerformance, montantBonus, montantAugmentation, salaireTotal)
    print("----------------------------------------------------------------------------------------------------")

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,
    Lorsque vous postez du code pensez a la balise [code] (le # en mode édition).
    Essayez de reduire le probleme: pas la peine de poste beaucoup de code pour "reproduire" le comportement que vous avez:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def saisie_prenom():
          return 'Toto'
    def affiche(prenom):
          print (prenom)
    prenom = ''
    saisie_prenom()
    affiche(prenom)
    Ca permet de voir que ce que retourne la fonction n’etant pas assigne a la variable "prenom"... affiche fera ce qu'il peut.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 6
    Par défaut
    merci pour le conseil, mais je dois seulement afficher une fois le résultat a la fin du programme.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affichage de chiffres jeu squaro Python
    Par Sebaudi dans le forum Programmation multimédia/Jeux
    Réponses: 0
    Dernier message: 16/03/2014, 16h44
  2. problème d'affichage de l'IDLE (python v3)
    Par De3s973 dans le forum EDI/RAD
    Réponses: 2
    Dernier message: 17/09/2008, 21h08
  3. [Kylix] problème d'affichage
    Par scalvi dans le forum EDI
    Réponses: 1
    Dernier message: 18/06/2003, 10h07
  4. Réponses: 1
    Dernier message: 06/03/2003, 11h57
  5. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo