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 :

programme my power de deux valeur float et int


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut programme my power de deux valeur float et int
    bonsoir,
    j'ai l'énoncé suivant:
    Ecrivez une fonction my_pow qui prend comme paramètres un nombre entier m et un nombre flottant b et qui renvoie une liste contenant les m premières puissances de b, c'est-à-dire une liste contenant les éléments allant de b0 à bm−1.
    Si le type des paramètres n'est pas celui attendu, votre fonction renverra la valeur None

    mon programme est le suivant: (il marche bien) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    m=int()
    b=float()
    list=[]
    def my_pow(m,b):
        for i in range(0,int(m)):
            l=float(b)**int(i)
            list.append(l)
        if (type(m) != int or type(b) != float):
            return None
        return list
    j'ai juste une erreur que j'ai pas pu régler
    "Votre programme a été interrompu par une exception: ValueError: invalid literal for int() with base 10: 'x'

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

    Citation Envoyé par FATENMRABET Voir le message
    j'ai juste une erreur que j'ai pas pu régler
    "Votre programme a été interrompu par une exception: ValueError: invalid literal for int() with base 10: 'x'
    Si vous n'indiquez pas comment reproduire cette erreur (de saisie?), on ne va pas l'inventer.
    Par ailleurs, relisez votre code: pourquoi vérifier que les arguments sont du type attendu après avoir fait les calculs?

    Citation Envoyé par FATENMRABET Voir le message
    (il marche bien)
    Vous n'avez pas si bien testé...

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

  3. #3
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut la solution
    salut,
    voilà la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    m=int()
    b=float()
    list=[]
    def my_pow(m,b):
        while (type(m) == int and type(b) == float):
            for i in range(0,m):
                l=b**i
                list.append(l)
            return list
        return None

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

    ligne 6: pourquoi mettre le test dans un while alors que les variables m et b ne sont pas mises à jour à l'intérieur de la boucle?

    Vous n'avez toujours pas bien testé.
    Essayez avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my_pow(2, 5)
    my_pow(3, 2)
    à la suite.

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

  5. #5
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def my_pow(m, b):
    	return [b**n for n in range(int(m*b-1))]
    ?

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

Discussions similaires

  1. Tracer une droite à l'aide de deux valeurs de type Float
    Par Mechatronique dans le forum OpenCV
    Réponses: 0
    Dernier message: 16/07/2015, 13h14
  2. [JSP] addition deux valeurs en sortie d'une jsp
    Par LESOLEIL dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 08/06/2005, 11h13
  3. [jsp] addition entre deux valeurs recupérées en Java
    Par LESOLEIL dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 07/06/2005, 13h19
  4. comment recuperer deux valeurs de deux champs input
    Par trialrofr dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/02/2005, 22h08
  5. Réponses: 5
    Dernier message: 25/11/2003, 10h02

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