[英]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,您可以:
下面的代碼應包含您需要的內容:
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.