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 :

débutant programmation en Python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    DND
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : DND
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Par défaut débutant programmation en Python
    Bonjour,

    Je viens de faire mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    def computepay(hrs,tr):
     
        hrs = input("Enter Hours:")
        tr = input("Enter Rate:")
     
        h = float(hrs)
        r = float(tr) 
     
        if h > 40 :
           t = h * r
           p = (h - 40.0) * (r * 0.5)
     
           gt = t + p
        print("Pay",computepay,gt)    
     
        return computepay
     
    #gt = computepay(45,10.50)
     
    #print("Pay",gt)
    Et voici ce que je dois produire :

    Écrivez un programme pour demander à l'utilisateur d'indiquer les heures et le taux horaire en utilisant l'entrée pour calculer le salaire brut. Le salaire devrait être le taux normal pour les heures jusqu'à 40 heures et le temps et demi pour le taux horaire pour toutes les heures travaillées au-delà de 40 heures. Mettez la logique pour faire le calcul du salaire dans une fonction appelée computepay() et utilisez la fonction pour faire le calcul. La fonction doit renvoyer une valeur. Utilisez 45 heures et un taux de 10,50 par heure pour tester le programme (le salaire devrait être de 498,75). Vous devez utiliser input pour lire une chaîne et float() pour convertir la chaîne en nombre. Ne vous inquiétez pas des erreurs de vérification de l'entrée de l'utilisateur, sauf si vous le souhaitez - vous pouvez supposer que l'utilisateur tape correctement les nombres. Ne nommez pas votre variable sum et n'utilisez pas la fonction sum().

    Le problème est que je reçois toujours le même code d'erreur:
    Your program does not have any output
    Pouvez-vous m'aider svp?

    Daniel

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut !

    Peux-tu utiliser la balise code en appuyant sur le bouton # ?

    Et puis l'énoncé en français c'est mieux (pour moi en tout cas, qui parle anglais comme une vache espagnole) !

    Bon courage !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    DND
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : DND
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    Salut !

    Peux-tu utiliser la balise code en appuyant sur le bouton # ?

    Et puis l'énoncé en français c'est mieux (pour moi en tout cas, qui parle anglais comme une vache espagnole) !

    Bon courage !
    Je viens de le mettre en français merci!

  4. #4
    Invité
    Invité(e)
    Par défaut
    En français google trad, oui !!! ^^

    Si je comprends bien jusqu'à 40h le taux horaire est de 10.50$ et au dessus de 40h seulement la moitié ? (C'est chelou mais bon...)

    Voici une solution basée sur les fonctions natives min() et max() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def computepay():
    	hrs = input("Enter Hours:")
    	tr = input("Enter Rate:")
     
    	h = float(hrs)
    	r = float(tr)
     
    	salaire = min(40,h)*r + max(0,h-40)*(r/2)
     
    	return salaire
    Evidemment je t'invite à trouver une autre solution à base de soustraction et de condition peut-être... Ma solution est probablement trop avancée pour ton niveau, si tu donnes ça à ton prof, ça va être la fessée !

  5. #5
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 920
    Billets dans le blog
    8
    Par défaut
    Bonjour,
    Citation Envoyé par Daniel1964 Voir le message

    Le problème est que je reçois toujours le même code d'erreur:
    Your program does not have any output
    Pouvez-vous m'aider svp?

    Daniel
    Il faut un appel à ta fonction pour que celle-ci soit exécutée...

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Citation Envoyé par Daniel1964 Voir le message
    Le problème est que je reçois toujours le même code d'erreur:
    Your program does not have any output
    Pouvez-vous m'aider svp?
    Ce n'est pas un message d'erreur Python mais peut être du système auquel vous avez soumis votre code dont on ne connaît rien.

    Quand l'énoncé dit "Mettez la logique pour faire le calcul du salaire dans une fonction appelée computepay() et utilisez la fonction pour faire le calcul." ça veut dire que la fonction ne fait pas d'input et pas de print (c'est à l'appelant de la fonction de...) et que la structure de votre code devrait ressembler à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def computepay(h, r):
         ...
         return pay
     
    h = float(input("Enter Hours:")
    r = float(input("Enter Rate:"))
    print (computepay(h, r))
    note: vous pourriez trouver des solutions en cherchant un peu sur Internet (pour remplir les ...) mais ce n'est pas comme ça que vous allez apprendre: installez Python, ouvrez un vrai tuto et battez vous contre la machine pour arriver à faire fonctionner les exercices proposés en essayant de comprendre par vous même ce qui ne va pas.


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

Discussions similaires

  1. [Python 3.X] L1 info FAC - besoin d'aide pour petite programmation en Python 3 (débutant)
    Par Jinzki. dans le forum Général Python
    Réponses: 2
    Dernier message: 08/10/2020, 01h09
  2. [Python 3.X] Cours Python pour débutants : apprendre à programmer avec Python au lycée
    Par Community Management dans le forum Général Python
    Réponses: 3
    Dernier message: 04/07/2017, 12h29
  3. [Débutant] Apprendre à programmer avec Python
    Par Lana.Bauer dans le forum Général Python
    Réponses: 7
    Dernier message: 06/01/2014, 18h15
  4. [débutant] programmation object en python
    Par Balbuzard dans le forum Général Python
    Réponses: 7
    Dernier message: 30/03/2011, 18h12
  5. [Débutant]Programmer un mobile en java
    Par Pill_S dans le forum Java ME
    Réponses: 3
    Dernier message: 28/05/2004, 13h06

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