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 :

Fonction racine carrée entière


Sujet :

Python

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 90
    Points : 119
    Points
    119
    Par défaut Fonction racine carrée
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def racine(x):
        som=0
        n=0
        i=1
        while som < x:
            if i%2==1:
                som=som+i
                n=n+1
            i=i+1
        return n
    J'aimerai que cette fonction me retourne 1 pour racine(2) par exemple, alors que avec ma fonction retourne 2

  2. #2
    Membre habitué
    Avatar de flo.87
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 77
    Points : 132
    Points
    132
    Par défaut
    Si l'on remplace le "<" par un "<=" et que l'on renvoie "n-1", ton algorithme fonctionne comme tu le veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def racine(x):
        som=0
        n=0
        i=1
        while som <= x:
            if i%2==1:
                som = som+i
                n = n+1
            i = i+1
        return n-1
    Est-ce volontairement que tu n'utilises pas le package math ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import math
    def racine(x)
        return math.floor(math.sqrt(x))
    La Connerie est une autre forme d'intelligence

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    On peut simplifier le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def racine(x):
        som=0
        i=1
        while som <= x:
            som = som+i
            i = i+2
        return i/2-1
    Pour ta seconde question, il suffit de multiplier n par 100^t, de calculer la racine entière, et de diviser par 10^t ensuite.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    On écrit 10**t en Python, pas 10^t
    ^ c'est un ou exclusif (xor).

  5. #5
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    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 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Non, ça marche!

    print racine(30*100**2)/10**2 renvoie bien 5.47

    Pour afficher 5.47 au lieu de 5,469999999999999, il faut utiliser print, ou utiliser une conversion en chaine comme "%s" % (5.47).

    L'affichage de 5,469999999999999 vient de la manière dont les nombres à virgule flottante sont stockés en mémoire.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

Discussions similaires

  1. Programme de calcul de racine carrée entière par défaut.
    Par Temari8 dans le forum Général Python
    Réponses: 2
    Dernier message: 07/12/2013, 19h14
  2. [Débutant] Tracer d'une fonction racine carrée
    Par ktolajumel dans le forum MATLAB
    Réponses: 5
    Dernier message: 30/06/2013, 17h39
  3. Fonction racine carré
    Par naruto-next dans le forum C
    Réponses: 14
    Dernier message: 03/03/2010, 22h55
  4. fonction racine carré
    Par goldensun dans le forum Débuter
    Réponses: 14
    Dernier message: 29/10/2008, 11h50
  5. Utilisation de la fonction racine carré
    Par derf_r dans le forum Access
    Réponses: 3
    Dernier message: 23/11/2005, 16h30

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