尝试生成n个随机数以得出固定的总和

时间:2019-03-02 22:09:15

标签: python

我一直在尝试获取一个总计为一定数量的随机整数列表(不使用numpy多项式)。我知道以前已经问过这个问题,但是我一直遇到问题,因为我希望用户能够定义要输出的数字的范围/数量,而不是预设的数字。

import random

def dishes():
    plates = int(input("How many dishes can you make: "))
    return plates

def budget():
    total = int(input("How much money do you have to spend: "))
    return total    


def restnum(dishes, total):
    num_dish = range(1, dishes)
    dividers = sorted(random.sample(num_dish(1, total), dishes - 1))
    return [a - b for a, b in zip(dividers + [total], [0] + dividers)]

def main():
    dishes_val = dishes()
    total_val = budget()
    restnum(dishes_val, total_val)

main()

但是我不断得到范围不是可调用的错误。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

您正在像num_dish一样调用它,但实际上它是一个变量,它现在存储使用range(1, dishes)创建的范围对象。 我不确定您要通过该程序实现什么目标,但是此注释对您有帮助。