python的for循环, 用来输出数组中的元素时,代码非常简单。语法:
for e in p:
<block>
当这里的p指一个数组时,e不用单独定义,使用for循环,程序会自动遍历数组中的元素。因此,当求一个数组中各元素之和:
def sum_list(p):
sum_l = 0
for e in p:
sum_l = sum_l + e
return sum_l
print sum_list([1,2,8])
将输出结果
注意:我曾写过下面这样的错误:
sum_l = 0 #在程序外定义变量
def sum_list(p):
for e in p:
sum_l = sum_l + e
return sum_l
print sum_list([1,2,8])
输出结果:错误
def sum_list(p):
sum_l = 0
for e in p:
return sum_l + e #循环内遇到return,直接跳出
print sum_list([1,2,8])
输出结果1
或
def sum_list(p):
sum_l = 0
for e in p:
sum_l = sum_l + e
print sum_l #在循环内打印
sum_list([1,2,8])
输出
1
3
9
出错原因参考上面的#备注
如果用while循环代替for循环,就要写成:
def sum_list(p):
sum_l = 0e = 0
while e < len(p):
sum_l = sum_l+p[e]
e = e +1
return sum_l
这里, for循环避免了定义条件的步骤,因此结构更简单。