问题描述
def product(list):
n=len(list)
for i in range(0,n+1):
product=1
product=product*list[i]
return product
给定乘积([1,2,3])时,输出为1,必须为6。
解决方法
代码中的各种错误:
- 循环从0到n-应该从0到n-1
- 初始化在循环内部,因此
product
每次迭代都会被覆盖1。 -
return
在循环内,因此它在第一次迭代时返回。 - 使用
list
作为变量名也不是一个好主意
所有这些问题均已纠正:
def product(lst):
n=len(lst)
product=1
for i in range(0,n):
product=product*lst[i]
return product
print(product([2,3,4])) # example
,
您可以使用下面提到的方式遍历列表,而不是使用传统方法;
def product1(list):
product = 1
for i in range(len(list)):
product = product*list[i]
return product
print(product([1,2,3])