Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的四舍五入数字_Python_List_Numbers_Append_Rounding - Fatal编程技术网

python中的四舍五入数字

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) >&

我有一个数字列表[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)
>>> [20, 30, 40, 40, 10, 430, 50, 50]

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

  • 把这个数字除以10
  • 使用新号码
  • 将取整后的数字乘以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。