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 :

Petit programme mais erreur introuvable


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Par défaut Petit programme mais erreur introuvable
    Bonjour,

    Voilà, je suis débutant et m'attaque à Python (version 3.3.2).

    Hier j'ai voulu me faire la main avec un programme simplifié me permettant de calculer l'impôt sur le revenu (excitant n'est-ce pas ?). Je pensais que ça serait bouclé en 1h maxi, mais finalement j'y ai passé l'aprèm' et la soirée, sans trouver pourquoi mon code ne fonctionne pas.

    Je précise que toutes les parties du code sont testées avec succès sur le shell d'IDLE. Mais... pas moyen d'executer le prog correctement. La fenêtre Python s'ouvre et se ferme tout de suite, donc visiblement il y a une erreur.

    Je parie que c'est stupide mais j'avoue que je sais plus où chercher.
    Y aurait-il des yeux expérimentés qui pourraient m'aiguiller sur mes erreurs svp ?

    Amicalement

    NB : je suis sur Windows 7
    PS : j'ai ajouté des os.system("pause") partout entre chaque partie du code, pensant que ça m'aiderait à localiser l'erreur... mais non !
    PS 2 : j'ai précisé l'encodage, au cas où, même si tous mes programmes jusque là fonctionnent sans.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    # -*-coding:Latin-1 -*
    #Cette application vous permet de calculer votre impôt sur le revenu
     
    import os
    os.system("pause")
     
    continuer = True
    while continuer:
    	#On introduit la variable 'conjoint' (vaut 1 ou 0)
    	conjoint=2
    	while conjoint == 2:
    		conjoint = input("Avez-vous un(e) conjoint(e) (o/n) ? ")
    		if conjoint == "N" or conjoint == "n":
    			conjoint=0
    		elif conjoint == "O" or conjoint == "o":
    			conjoint=1
    		else:
    			conjoint=2
    			continue
    	os.system("pause")
    	#On introduit la variable 'enfants' (0 ou plus)
    	enfants = -1
    	while enfants < 0:
    		enfants = input("Combien avez-vous d'enfants? Si aucuns, entrez '0' : ")
    		try:
    			enfants = int(enfants)
    		except ValueError:
    			print("Saisir un nombre.")
    			enfants = -1
    			continue
    		if enfants < 0:
    			print("Saisir un nombre à partir de zero.")
    	os.system("pause")
    	#On introduit la variable 'parts_qf'
    	if enfants < 3 :
    		parts_qf = 1+conjoint+(enfants/2)
    		print("Vous avez {} parts de quotient familial.".format(parts_qf))
    	elif enfants >= 3:
    		parts_qf = 1+conjoint+(enfants-1)
    		print("Vous avez {} parts de quotient familial.".format(parts_qf))
    	os.system("pause")
    	#On introduit la variable 'revenu_imposable'
    	revenu_imposable = -1
    	while revenu_imposable < 0:
    		revenu_imposable = input("Entrez le revenu imposable du foyer fiscal : ")
    		try :
    			revenu_imposable = float(revenu_imposable)
    		except:
    			print("Saisir un nombre.")
    			revenu_imposable = -1
    			continue
    		if revenu_imposable < 0:
    			print("Vous ne pouvez entrer un nombre négatif.")
    	os.system("pause")
    	#On introduit la variable 'qf'
    	qf = revenu_imposable/parts_qf
    	print("Votre quotient familial est de {} euros.".format(qf))
    	os.system("pause")
    	#On calcule en fonction du TMI
    	limite=[150000,70831,26421,11897,5964,0]
    	tmi=[0.45,0.41,0.3,0.14,0.055,0]
    	impot=0
    	if qf > limite[0]:
    		impot = (tmi[0]*qf)*parts_qf
    	elif qf > limite[1]:
    		impot = (tmi[1]*qf)*parts_qf
    	elif qf > limite[2]:
    		impot = (tmi[2]*qf)*parts_qf
    	elif qf > limite[3]:
    		impot = (tmi[3]*qf)*parts_qf
    	elif qf > limite[4]:
    		impot = (tmi[4]*qf)*parts_qf
    	elif qf >= limite[5]:
    		impot = (tmi[5]*qf)*parts_qf
    	impot = impot.__round__()
    	print("Votre Taux Marginal d'Imposition est de {}%. Vous paierez {} euros d'impôts sur le revenu.".format((impot/qf),impot))
    	os.system("pause")	
    	#Pour fermer le programme, ou pas
    	quitter = input("Souhaitez-vous quitter ce programme (o/n) ? ")
    		if quitter == "O" or quitter == "o":
    			continuer = False
    	os.system("pause")

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 23
    Par défaut
    Salut,

    Je suis débutant également et je crois qu'un autre de parlera mieux que moi du code que tu as posté, mais dans ces cas là tu peux lancer ton programme dans l'invite de commande et comme ça tu peux voir le message d'erreur.

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Il serait bien pour tester tes scripts que tu te crée un fichier .bat comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    C:\Python27\python.exe C:\Users\Toi\tonappli.py
    pause
    En adaptant les chemins bien sur.

    Ensuite tu nous colles ici le message d'erreur exact.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Par défaut
    Merci Flo963,

    Simple erreur d'indentation, mais j'avoue que j'avais pas pensé à l'invite de commande !
    Reste encore quelques amélioration mais l'important c'est que ça marche, THX


  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Par défaut
    Pour info voici ce que j'ai obtenu sur l'invite de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    C:\Users\Mathieu>C:\Users\Mathieu\Desktop\prog_python\essai_impots.py
      File "C:\Users\Mathieu\Desktop\prog_python\essai_impots.py", line 80
        if quitter == "O" or quitter == "o":
        ^
    IndentationError: unexpected indent
    Par contre VinsS, j'ai pas réussi à faire un .bat correct, je sais pas pourquoi. Déjà, malgré la terminaison .bat il m'ouvrait pas le fichier sur l'invite de commande (.cmd ne marche pas non plus), donc j'ai du spécifier 'ouvrir avec' puis 'choisir le programme' et aller cherche l'invite de commande...
    Après ça, impossible de lancer mon programme essai_impots.py, ça m'affiche juste ça dans l'invite (et oui, j'ai checké l'orthographe de mon programme) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\Users\Mathieu\Desktop\prog_python>

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

Discussions similaires

  1. [PHP 5.0] Erreur dans une petite chaîne (mais elle me fait rager :P )
    Par amerex dans le forum Langage
    Réponses: 3
    Dernier message: 30/05/2009, 17h20
  2. Réponses: 4
    Dernier message: 27/04/2009, 19h33
  3. Réponses: 1
    Dernier message: 27/04/2009, 18h06
  4. Réponses: 8
    Dernier message: 04/03/2008, 23h30
  5. Petit programme. Erreurs de compilation!
    Par jbarreau-mainson dans le forum Débuter
    Réponses: 14
    Dernier message: 03/03/2008, 10h38

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