问题描述】编写一个函数,可以接收任意数量的参数(0-3个)。参数的个数及参数值由用户输入,参数值都是正整数。函数的功能是返回所有参数的乘积,如果实际参数个数为0,返回-1。 【输入形式】一行正整数,以空格分隔。 第一个整数为参数个数,后面的整数为参数值。 【输出形式】一个整数,即所有参数的乘积或者-1 【样例输入】0 【样例输出】-1 【样例输入】1 1 【样例输入】1 【样例输入】2 2 5 【样例输入】10 【样例输入】3 2 5 6 【样例输入】60 def test(*para): origin=input().split() origin=[eval(x) for x in origin] number=origin[0] #获取参数个数 if number==0: result=test() elif number==1: result=test(origin[1]) elif number==2: result=test(origin[1],origin[2]) elif number==3: result=test(origin[1],origin[2],origin[3]) print(result)
时间: 2024-02-12 13:09:15 浏览: 54
编写二个函数,其中一个函数func1完成功能为:接收字符串参数,返回一个元组,其中第一个元素为字符串中大写字母个数,
5星 · 资源好评率100%
下面是一个可以满足要求的函数实现:
```python
def multiply(*args):
if len(args) == 0:
return -1
result = 1
for num in args:
result *= num
return result
```
这个函数使用了 `*args` 来接收任意数量的参数,并且使用了一个循环来计算所有参数的乘积。如果参数个数为0,则返回-1。可以在代码中调用这个函数,传入用户输入的参数来进行计算。
以下是完整代码实现:
```python
def multiply(*args):
if len(args) == 0:
return -1
result = 1
for num in args:
result *= num
return result
origin = input().split()
origin = [eval(x) for x in origin]
args = origin[1:]
result = multiply(*args)
print(result)
```
阅读全文