Python décimale

Résolu
Alban -  
mamiemando Messages postés 33769 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

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

entr'autres:
https://docs.python.org/fr/3/tutorial/floatingpoint.html
0
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
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 
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
Alban
 
Merci je ne connaissais pas toutes ces techniques merci à toi
0
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 
De rien, bonne continuation :-)
0