列表方法append实现加法计算,这篇文章和另外一篇文章有关联python项目实战之函数、类和配置文件调用
错误思路1代码
cat jisuan-complex.py
#!/usr/bin/env python
# -*- coding:UTF-8 -*-
def add(*args):
list1=[]
total=0
for i in args:
list1.append(i)
for j in range(0,len(list1)):
total = total+list1[j]
print('{}相加元素和为{}'.format([list1],total))
add(1)
运行
从结果可知,输入add(1),走第一层循环list1=[1],接着走第二层循环for j in range(0,1),total=total+list1[0],得到total=1。
python jisuan-complex.py
[[1]]相加元素和为1
错误思路2代码
cat jisuan-complex.py
#!/usr/bin/env python
# -*- coding:UTF-8 -*-
def add(*args):
list1=[]
total=0
for i in args:
list1.append(i)
for j in range(0,len(list1)):
total = total+list1[j]
print('{}相加元素和为{}'.format([list1],total))
add(1)
add(1,2)
add(1,2,3)
运行
从结果可知,输入add(1),走第一层循环list1=[1],接着走第二层循环for j in range(0,1),total=total+list1[0],得到total=1。
输入add(1,2),走第一层循环list1=[1],接着走第二层循环for j in range(0,1),total=total+list1[0],得到total=1,接着再走第一层循环list1=[1,2],接着走第二层循环for j in range(0,2),total=total+list1[0],total=1,total=total+list1[1],total=2,依次类推。可见这不是我们想要的。
python jisuan-complex.py
[[1]]相加元素和为1
[[1]]相加元素和为1
[[1, 2]]相加元素和为2
[[1, 2]]相加元素和为4
[[1]]相加元素和为1
[[1, 2]]相加元素和为2
[[1, 2]]相加元素和为4
[[1, 2, 3]]相加元素和为5
[[1, 2, 3]]相加元素和为7
[[1, 2, 3]]相加元素和为10
错误思路3代码
#/usr/bin/enc python
# -*- coding:utf-8 -*-
def add(*args):
list1=[]
total=0
for i in args:
list1.append(i)
for j in range(0,len(list1)):
total = total+list1[j]
print('{}相加元素和为{}'.format([list1],total))
add(1)
add(1,2)
add(1,2,3)
add(1,2,3,4)
add(1,2,3,4,5)
运行
从结果可知,add函数算加法的时候是这样算的,以1+2+3举例,计算过程为1+(1+2)+(1+2+3)=10
python jisuan-complex.py
[[1]]相加元素和为1
[[1, 2]]相加元素和为4
[[1, 2, 3]]相加元素和为10
[[1, 2, 3, 4]]相加元素和为20
[[1, 2, 3, 4, 5]]相加元素和为35
正确的代码
[root@localhost python]# cat add.py
#/usr/bin/enc python
# -*- coding:utf-8 -*-
def add(*args):
list1=[]
total=0
for i in args:
list1.append(i)
total=total+list1[len(list1)-1]
print('{}相加元素和为{}'.format([list1],total))
add(1)
add(1,2)
add(1,2,3)
运行
[root@localhost python]# python add.py
[[1]]相加元素和为1
[[1, 2]]相加元素和为3
[[1, 2, 3]]相加元素和为6