编写一个名为sum2的函数,利用不确定数目的形参实现向量的相加,怎么写代码
在Python中,我们可以使用*args
来接收不确定数量的参数。以下是一个名为sum2
的函数,它接受不确定数量的参数,并将它们相加:
def sum2(*args):
return sum(args)
这个函数使用了Python内置的sum
函数,它接受一个可迭代的参数(如列表或元组),并返回所有元素的和。
这是如何使用该函数的示例:
print(sum2(1, 2, 3, 4)) # 输出 10
print(sum2(5, 10, 15)) # 输出 30
在这个例子中,*args
会接收所有传入的参数,并将它们放在一个元组中。然后,sum
函数会返回这个元组中所有元素的和。
【以下回答由 GPT 生成】
我可以为您提供以下解决方案:
def sum2(*args):
result = []
# 检查参数个数是否大于等于2
if len(args) >= 2:
# 使用zip函数将参数进行逐个配对
for numbers in zip(*args):
# 对每个配对的元素进行相加并将结果添加到结果列表中
result.append(sum(numbers))
return result
else:
print("参数个数应大于等于2")
# 示例用法
v1 = [1, 2, 3]
v2 = [4, 5, 6]
v3 = [7, 8, 9]
# 调用函数,并传入多个向量作为参数
result = sum2(v1, v2, v3)
print(result)
这个sum2
函数使用了一个参数*args
,它可以接收不确定数量的参数。在函数体内部,首先检查传入的参数数量是否大于等于2,因为相加需要至少有两个向量。然后使用zip
函数对传入的不确定数量的参数进行配对,并使用循环逐个配对进行相加。将结果添加到结果列表中并返回。最后,我们可以通过传入多个向量作为参数来调用这个sum2
函数,并打印结果。
请注意,这个函数假设传入的参数都是列表,如果传入的参数不是列表,则需要进行相应的类型检查和转换。
【相关推荐】