Mon programme python ne marche pas
Résolu/Fermé
Mano272520
Messages postés
10
Date d'inscription
lundi 4 novembre 2019
Statut
Membre
Dernière intervention
22 décembre 2021
-
Modifié le 4 nov. 2019 à 20:32
Mano272520 Messages postés 10 Date d'inscription lundi 4 novembre 2019 Statut Membre Dernière intervention 22 décembre 2021 - 4 nov. 2019 à 21:01
Mano272520 Messages postés 10 Date d'inscription lundi 4 novembre 2019 Statut Membre Dernière intervention 22 décembre 2021 - 4 nov. 2019 à 21:01
A voir également:
- Mon programme python ne marche pas
- Programme demarrage windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Citizen code python avis - Accueil - Outils
- Ce programme est écrit en python ✓ - Forum Python
2 réponses
_Ritchi_
Messages postés
21308
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
6 086
4 nov. 2019 à 19:46
4 nov. 2019 à 19:46
Bonsoir,
Deux choses:
1- faire le copié/collé de ton code en indiquant que c'est du python: ainsi l'indentation sera respectée et on comprendra mieux ton code. Pour faire cela:
- utilise le bouton suivant et choisit Python dans la liste déroulante:
- fais le copié/collé de ton code entre les deux balises qui sont apparues:
2- en lisant ton code, il semble que tu n'aies pas compris le principe des tranches d'imposition car tu ne fais pas l'addition des impôts dûs tranche par tranche. Je te fais donc un copié/collé du contenu du lien vers le site des impôts que tu as donné:
Ritchi
Deux choses:
1- faire le copié/collé de ton code en indiquant que c'est du python: ainsi l'indentation sera respectée et on comprendra mieux ton code. Pour faire cela:
- utilise le bouton suivant et choisit Python dans la liste déroulante:
- fais le copié/collé de ton code entre les deux balises qui sont apparues:
2- en lisant ton code, il semble que tu n'aies pas compris le principe des tranches d'imposition car tu ne fais pas l'addition des impôts dûs tranche par tranche. Je te fais donc un copié/collé du contenu du lien vers le site des impôts que tu as donné:
Pour les revenus de 2019 (impôts 2020), les tranches de revenus et les taux d'imposition correspondants sont les suivants :
La tranche de votre quotient familial comprise entre 0 € et 10 064 € n'est pas imposée
La tranche de 10 064 € à 27 794 € est imposée à 14 %
La tranche de 27 794 € à 74 517 € est imposée à 30 %
La tranche de 74 517 € à 157 806 € est imposée à 41 %
La tranche au-delà de 157 806 € est imposée à 45 %
La somme des montants obtenus par tranche correspond à l'impôt brut de votre foyer fiscal pour une part de quotient familial.
Exemple :
Célibataire déclarant 31 000 € de salaires
Salaires imposables = 27 900 € après déduction des 10 % pour frais
Quotient familial = 27 900 € / 1 part = 27 900 €
Taux marginal d'imposition = 30 %
Le calcul de l'impôt se décompose comme suit
De 0 € à 10 064 € = 10 064 € x 0 % = 0 €
De 10 064 € à 27 794 € = 17 730 € x 14 % = 2 482,20 €
De 27 794 € à 27 900 €= 106 € x 30 % = 31,80 €
La somme des montants obtenus correspond à l'impôt brut, soit 2 514 €.
Ritchi
_Ritchi_
Messages postés
21308
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
6 086
4 nov. 2019 à 20:52
4 nov. 2019 à 20:52
Bonsoir,
Quand tu écris "def impots(revenu, nb_part)": tu définis cette fonction.
Cette fonction impots() est appelée par la fonction main() que tu as défini avec "def main()".
Mais cette fonction main(), dis moi où est-elle appelée dans le code que tu as écrit ?
Réponse: nulle part !
Donc il faut l'appeler et comme il est tard, je te donne une version qui marche et je te fais confiance pour l'étudier et comprendre tes erreurs:
Quand tu écris "def impots(revenu, nb_part)": tu définis cette fonction.
Cette fonction impots() est appelée par la fonction main() que tu as défini avec "def main()".
Mais cette fonction main(), dis moi où est-elle appelée dans le code que tu as écrit ?
Réponse: nulle part !
Donc il faut l'appeler et comme il est tard, je te donne une version qui marche et je te fais confiance pour l'étudier et comprendre tes erreurs:
def impots(revenu, nb_part): # renvoie le montant de l'impot à payer en fonction des tranches d'impositions RN = 0 impot = 0 # tranches d'imposition tranche_1 = 9964 tranche_2 = 27519 tranche_3 = 73779 tranche_4 = 156244 # taux d'imposition taux_1 = 0.14 taux_2 = 0.30 taux_3 = 0.41 taux_4 = 0.45 # begin RN = revenu / nb_part if RN <= tranche_1: impot = 0 elif tranche_1 < RN <= tranche_2: impot = (revenu * taux_1) - (1394.96 * nb_part) elif tranche_2 < RN <= tranche_3: impot = (revenu * taux_2) - (5798 * nb_part) elif tranche_3 < RN <= tranche_4: impot = (revenu * taux_3) - (13913.69 * nb_part) else: impot = (revenu * taux_4) - (20163.45 * nb_part) return impot def main(): # demande la saisine du montant de revenu annuel et du nombre de part et affichele montant de l’impôt à payer" # begin print("veuillez saisir le montant du revenu") revenu = int(input()) print("veuillez saisir le nombre de parts") nb_part = float(input()) print("le montant de l'impot a payer est %d" % (impots(revenu, nb_part))) main()
Mano272520
Messages postés
10
Date d'inscription
lundi 4 novembre 2019
Statut
Membre
Dernière intervention
22 décembre 2021
4 nov. 2019 à 21:01
4 nov. 2019 à 21:01
Je n'y manquerai pas. Merci beaucoup
4 nov. 2019 à 19:53
Déjà merci de m'avoir répondu
Par rapport au 2ème point j'ai compris le principe mais en cherchant sur le net j'ai trouvé une formule qui me permet de calculer directement donc j'ai préférer l'utiliser
4 nov. 2019 à 19:58
4 nov. 2019 à 20:26
4 nov. 2019 à 20:31
Modifié le 4 nov. 2019 à 20:36
Tu as défini la fonction main() mais tu ne l'appelles jamais...
Note: tes calculs sont quand même faux ... d'où la division par zéro que tu rencontres