python中的四舍五入数字
我有一个数字列表[0,10,20,30,40,50]现在这个列表将被随机数字(如33,43)所附加,每次它在列表中附加“否”时,我都要检查该列表,并希望它们四舍五入到30和40。使用内置函数。结合列表理解,可以给我们一个表达性的单行函数python中的四舍五入数字,python,list,numbers,append,rounding,Python,List,Numbers,Append,Rounding,我有一个数字列表[0,10,20,30,40,50]现在这个列表将被随机数字(如33,43)所附加,每次它在列表中附加“否”时,我都要检查该列表,并希望它们四舍五入到30和40。使用内置函数。结合列表理解,可以给我们一个表达性的单行函数 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) >&
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]
为什么不在追加之前对它们进行舍入,这样会快得多,你能给我们看一下你的代码吗?对于舍入,你可以使用内置的
round
,精度为负,例如round(34.567,-1)
我无法控制将要添加到列表中的数字。但我必须确保这些数字被舍入。我无法控制要添加到列表中的数字。因此,我希望在添加感谢后,这些数字被舍入,感谢快速回复。如何检查列表中的值是否被舍入到20、30、40?无需检查值四舍五入到最接近的10,因为此函数返回一个新列表,其中每个元素始终四舍五入到最接近的10。