将 python 中的数字四舍五入
Round off numbers in python
我有一个数字列表 [0,10,20,30,40,50] 现在这个列表将附加随机数字,例如 33 ,43,每次附加时我都必须检查列表 no到列表中,我希望它们四舍五入为 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,您可以:
- 将数字除以 10
- 对新号码使用round()
- 将四舍五入的数字乘以 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]
我有一个数字列表 [0,10,20,30,40,50] 现在这个列表将附加随机数字,例如 33 ,43,每次附加时我都必须检查列表 no到列表中,我希望它们四舍五入为 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,您可以:
- 将数字除以 10
- 对新号码使用round()
- 将四舍五入的数字乘以 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]