鱼C论坛

 找回密码
 立即注册
查看: 907|回复: 5

[已解决]零基础学习Python,第018讲,课后题动手第0题

[复制链接]
发表于 2017-11-13 17:39:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> def test(*a,bass = 3):
        result = 0
        for each in a:
                result += each
        result *= bass
        print('结果是:',result)

       

>>> test(1,2,3,4,)
结果是: 30
  为什么,求出的是和值,求解惑,谢谢!为什么不是(3,6,9,12)
最佳答案
2017-11-13 18:25:27


*a 说明是可迭代的序列
用列表来表示 相当于
*a == [1,2,3,4]

def test([1,2,3,4],bass = 3):
        result = 0
        for each in [1,2,3,4]:
                result += each
        result *= bass
        print('结果是:',result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-13 18:18:31 From FishC Mobile | 显示全部楼层
相当于a=(1,2,3,4)
然后进行先求出a中所有元素的和,最后将这个和乘以bass,默认下bass=3
所以结果就是10*3
最后进行打印,休息,整个函数只打印最后的结果,当然只显示一个值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-13 18:25:27 | 显示全部楼层    本楼为最佳答案   


*a 说明是可迭代的序列
用列表来表示 相当于
*a == [1,2,3,4]

def test([1,2,3,4],bass = 3):
        result = 0
        for each in [1,2,3,4]:
                result += each
        result *= bass
        print('结果是:',result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-14 16:27:36 | 显示全部楼层
ba21 发表于 2017-11-13 18:25
*a 说明是可迭代的序列
用列表来表示 相当于
*a == [1,2,3,4]

还是没明白,
      def test([1,2,3,4],bass = 3):
        result = 0
        for each in [1,2,3,4]:
                result += each
        result *= bass
        print('结果是:',result)
for each in [1,2,3,4]  ;result  += each 表示为:
     result == 0 + 1 ==  1
     result == 0  + 2 == 2
     result == 0 + 3 == 3
     result ==0 + 4 == 4
result  *= bass表示为:
      result ==  1  *3 == 3
      result == 2 * 3 ==  6
      result == 3 * 3 ==  9
      result == 4* 3 ==  12
为什么是和值呢,什么原因
求解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-14 18:24:45 | 显示全部楼层
史莱克 发表于 2017-11-14 16:27
还是没明白,
      def test([1,2,3,4],bass = 3):
        result = 0

  result = 0 + 1 =  1
result = 1
     result = 1  + 2 = 3
result = 3
     result = 3+ 3 = 6
result = 6
     result =6 + 4 = 10
result = 10
result = 10 * 3 = 30
result = 30

你的理解法很奇葩

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-14 18:33:51 | 显示全部楼层
ba21 发表于 2017-11-14 18:24
result = 0 + 1 =  1
result = 1
     result = 1  + 2 = 3

哈哈,明白了,序列
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-23 13:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表