将数字拆分为四舍五入的数字 [英] Split number into rounded numbers

查看:24
本文介绍了将数字拆分为四舍五入的数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有库可以将数字拆分为多个部分,但确保所有部分都是四舍五入的数字?

例如,将100拆分为3将是33.33,但我希望对其进行四舍五入,并确保总和也保持为100:

[34 33 33]

推荐答案

为此可以使用内置函数divmod。由于此函数所做的一切都是简单的算术运算,因此我使用的是单字母变量名。

def parts(a, b):
    q, r = divmod(a, b)
    return [q + 1] * r + [q] * (b - r)

返回值是先包含较大部分的列表。

>>> parts(100, 3)
[34, 33, 33]

>>> parts(100, 7)
[15, 15, 14, 14, 14, 14, 14]

这篇关于将数字拆分为四舍五入的数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆