【问题标题】:Divide number into n equal parts将数字分成 n 等份
【发布时间】:2021-08-10 06:04:16
【问题描述】:

我需要在 Python 中将一个数字分成 n 个相等的部分。输出应该是一个包含每个部分的最小值和最大值的元组列表。

例如,如果输入为 25,则输出应为 [(1, 5), (6, 10), (11, 15), (16, 20), (21, 25)]。

【问题讨论】:

  • 13 怎么除?
  • 您需要分享更多详细信息。如果输入是6,输出? [(1,3), (4,6)] 还是 [(1,2), (3, 4), (5, 6)]?
  • 你试过了吗?
  • 那是什么“任何东西”?
  • 好的,酷!你有问题吗?请阅读How to Ask

标签: python numpy data-manipulation


【解决方案1】:

前半部分是你所想的,但就像其他人评论的那样,它取决于数字能被 n 整除。我冒昧地使用 float 边对不能被 n 整除的数字进行分区。

def partition(number, n):
    if number % n == 0: # check if number divisible by n
        width = number // n
        return [(1 + i*width, width + i*width) for i in range(n)]
    else:
        x = np.linspace(1, number, n+1)
        return [(x[i], x[i+1]) for i in range(n)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 2011-05-06
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    相关资源
    最近更新 更多