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 Algo Python


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Par défaut Probléme Algo Python
    Bonsoir à tous ,

    J'ai un petit probléme avec un Algo en python , j'utilise trés peu ce langage et j'ai parfois du mal a m'y faire par manque de pratique mais là je devais faire un Algo simple en Math qui est fonctionnel puisque j'ai fais en C# pour voir si celà était correct puisque je rencontre tout le temps des soucis dés que je réalise avec Python qui vient trés probablement d'erreurs de ma part donc j'aurai aimé résoudre ce soucis car c'est un peu frustant de ne pas réussir à résoudre le soucis car je ne vois pas réellement d'ou vient le soucis et avoir quelques petites astuces pour éviter d'éventuel erreur , voici le 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    def CaptRemb(capt , duree , taux):
        global remb
        global tarifMens
        annee = duree / 12
        remb = capt
     
        for i in range(1,annee) :
            remb  = remb + (remb*taux/100)
     
        tarifMens = remb / duree
        print("A rembourser :" , remb)
        print("Mensualité :", tarifMens , "euros")
     
    def CapitalRestant(remb ,tarifMens, nbMensPaye ):
        captDu = remb - (tarifMens , nbMensPaye)
        return captDu
     
    #######MAIN#########
     
    print("Saisir le capital du pret :")
    capt = float(input())
    print("Saisir la durée du pret :")
    duree = int(input())
    print("Saisir le taux d'emprunt :")
    taux = float(input())
     
    CaptRemb(capt , duree , taux)
     
    print("Saisir le nombre de mensualité payé :")
    nbMensPaye = int(input())
     
    reste = CapitalRestant(remb , tarifMens , nbMensPaye)
     
    print("Il reste ", reste , "euros à régler")
    ERREUR :

    C:\Python34\python.exe "C:/Users/Sebastien/PycharmProjects/MyProjects/Algo Math.py"
    Saisir le capital du pret :
    1500
    Saisir la durée du pret :
    12
    Saisir le taux d'emprunt :
    5
    Traceback (most recent call last):
    File "C:/Users/Sebastien/PycharmProjects/MyProjects/Algo Math.py", line 27, in <module>
    CaptRemb(capt , duree , taux)
    File "C:/Users/Sebastien/PycharmProjects/MyProjects/Algo Math.py", line 7, in CaptRemb
    for i in range(1,annee) :
    TypeError: 'float' object cannot be interpreted as an integer

    Process finished with exit code 1

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    C'est très simple: le problème est à la ligne 4: "annee = duree / 12".

    La division fait que année est un nombre flottant (ex: 15/12 => 1.25), et on ne peut mettre que des entiers comme argument de range.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Par défaut
    Ok merci j'ai réussi en appliquant un arrondi mais franchement je pensais pas que sa venait de là car j'ai pas l'habitude avec ce langage tu vois sur mon programme en C# j'ai testé que avec 12 , 24 , 36 comme notre prof nous a demandé car s'était juste pour testé et j'ai caremment zappé testé avec un chiffre impaire et là je viens de le faire maintenant sur mon prog C# avec 15 sa fonctionne quand meme aucun probléme avec ma boucle sa arrondie automatiquement c'est assez marrant voir ces petites suptilités entre les différents langages

Discussions similaires

  1. [Linux-XML] Probléme avec python-xml
    Par Exodus dans le forum Général Python
    Réponses: 5
    Dernier message: 27/03/2007, 15h47
  2. [Tableaux] Problème algo récursif
    Par Invité dans le forum Langage
    Réponses: 38
    Dernier message: 03/10/2006, 15h49
  3. Problème avec python
    Par Thrystan dans le forum Gnome
    Réponses: 2
    Dernier message: 17/08/2006, 00h29
  4. problème algo
    Par petitgato dans le forum C
    Réponses: 1
    Dernier message: 17/03/2006, 12h32
  5. Problème algo de parcour de graphe
    Par goblin dans le forum Langage
    Réponses: 1
    Dernier message: 11/12/2005, 15h04

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