我创建了一个Python函数,该函数接受任意数量的整数输入并返回LCM。我想请用户以友好的方式向我传递任意数量的输入,然后让我的函数对它们进行评估。

我找到了一种合理的方法来使用户一次向我传递一些整数并将它们附加到列表中,但是,我似乎无法获得函数来将其作为列表或元组进行处理。

这是我的代码:

#Ask user for Inputs
inputs = []
while True:
    inp = input("This program returns the LCM, Enter an integer,\
    enter nothing after last integer to be evaluated: ")
    if inp == "":
        break
    inputs.append(int(inp))

#Define function that returns LCM
def lcm(*args):
    """ Returns the least common multiple of 'args' """
    #Initialize counter & condition
    counter = 1
    condition = False

    #While loop iterates until LCM condition is satisfied
    while condition == False :
        counter = counter + 1
        xcondition = []
        for x in args:
            xcondition.append(counter % x == 0)
        if False in xcondition:
            condition = False
        else:
            condition = True
    return counter

#Execute function on inputs
result = lcm(inputs)

#Print Result
print(result)

最佳答案

*args的想法是获取任意数量的参数,并将其视为易于处理的列表。

但是您只插入一个参数-列表。

可以使用lcm(*inputs)(将列表解压缩为不同的参数),也可以仅将列表作为参数(这意味着lcm被简单地定义为lcm(args))。

关于python - 任意数量的用户输入功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46478730/

10-12 21:45