簡體   English   中英

在python中四舍五入數字

[英]Round off numbers in python

我有一個數字[0,10,20,30,40,50]的列表,現在此列表將由諸如33,43的隨機數附加,我每次在列表中未附加任何編號時都要檢查該列表,並且我希望將它們四舍五入為30和40。

使用round()內置函數。 結合列表理解 ,可以為我們提供富有表現力的單行功能!

def round_list(l):
    return [int(round(i, -1)) for i in l]

樣本輸出:

l = [24, 34, 41, 40, 12, 434, 53, 53]
print round_list(l)
>>> [20, 30, 40, 40, 10, 430, 50, 50]

為了四舍五入到最接近的10,您可以:

  1. 將數字除以10
  2. 在新數字上使用round()
  3. 將四舍五入的數字乘以10

下面的代碼應包含您需要的內容:

import random

l = [0.0, 10.0, 20.0, 30.0, 40.0, 50.0]

# generate a random number
random_number = random.uniform(30, 100)

# round the number to nearest 10
def round_number(num):
    x = round(num/10) * 10
    return x

rounded_number = round_number(random_number)

# append to the list
l.append(rounded_number)

測試以上內容:

>>> print random_number
64.566245501
>>> print rounded_number
60.0
>>> print l
[0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM