web-dev-qa-db-fra.com

Comment arrondir les nombres au millier le plus proche?

J'ai un problème pour arrondir une liste de nombres au millier le plus proche.

Voici mon code:

rev_list = []

for i in range(12):
    rev = int(round(random.normalvariate(100000, 12000)))
    rev_list.append(rev)

print(rev_list)

La sortie est:

[97277, 96494, 104541, 132060, 98179, 87862, 84718, 95391, 94674, 89773, 92790, 86122]

Je voudrais arrondir la liste au millier le plus proche. Comment puis-je faire cela?

12
123cremepie

La fonction round peut prendre chiffres négatifs à arrondir à, ce qui la fait arrondir à gauche de la décimale. Par exemple:

>>> round(15768, -3)
16000
>>> round(1218, -3)
1000

Donc, la réponse courte est: Appelez round avec le deuxième argument de -3 pour arrondir au millier le plus proche.

20
ShadowRanger