Python列表方法和循环语句组合

列表方法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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时空无限

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值