Python décimale

Résolu
Alban -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je débute en python et je voudrais savoir comment faire pour qu'avec mon code, le résultat s'arrête 1 chiffre après la décimale. J'ai essayé plusieurs trucs qui n'ont pas marché. Je ne vois pas comment faire.

Merci de votre aide

def format_point (x_coord, y_coord):
    """ Prend deux coordonnées de type float et retourne une chaîne de caractère"""
    return("[{0}, {1}]".format(x_coord, y_coord))

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    as-tu essayé de faire une recherche "python format float precision"?

    entr'autres:
    https://docs.python.org/fr/3/tutorial/floatingpoint.html
    0
    1. Alban
       
      bah j'étais tombé sur le round mais j'arrivais pas à l'utiliser mais on m'a dit comment faire dans la reponse en dessous merci :)
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Bonjour

    Tu peux t'en sortir facilement avec une f-string :

    def format_point(x_coord, y_coord):
        return f"({x_coord:.1f}, {y_coord:.1f})"


    Si on avait voulu laisser le format par défaut, on aurait juste écrit :

    def format_point(x_coord, y_coord):
        return f"({x_coord}, {y_coord})"


    Note que dans les paires d'accolades tu peux carrément exécuter une instruction python. Une autre solution aurait été d'écrire :

    def format_point(x_coord, y_coord):
        return f"({round(x_coord, 1)}, {round(y_coord, 1)})"


    Bonne chance
    0
  3. Alban
     
    Merci je ne connaissais pas toutes ces techniques merci à toi
    0
    1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
       
      De rien, bonne continuation :-)
      0