在Python中使用可变长度参数时,如何从用户接受参数?

时间:2019-07-12 06:45:53

标签: python python-3.x arguments user-input

我如何为乘法程序接受可变长度参数,我可以通过函数名称传递参数,但是,我不知道如何接受用户的输入。

我已经使用* argvs接受任意数量的参数。我尝试过在for循环内从用户那里取值,以便可以传递n个参数,但是它不起作用。我知道代码不正确,但我不知道该怎么做。

这是一些代码:

def mul(*nums):
    result = 1
    for n in nums:
            #nums = int(input("Enter the Numbers to be multiplied : "))
            result *= n
    return result 

#print(mul(4,5,4,4))
 print(mul(nums))

预期-320

Actual - Traceback (most recent call last):
  File "args_and_kwargs.py", line 8, in <module>
    print(mul(nums))
NameError: name 'nums' is not defined

1 个答案:

答案 0 :(得分:1)

您可以为此使用一个列表

def mul(*nums):
    result = 1
    for n in nums:
        result *= n
    return result 

nums = input("Enter the Numbers to be multiplied : ").split(" ")
nums = [int(num) for num in nums]
print(mul(*nums))