SomeThing9 发表于 2021-1-26 10:59:17

课后习题的程序设计大佬们帮讲解一下 没理解

def test(*params,base =3):
    sum = 0
    if params[-1] != 5:
      for each in params:
            sum +=each
      sum *=base
      print("结果是:",sum)
    else:
      base = 5
      params = params
      for each in params:
            sum +=each
      sum *=base
      print("结果是:",sum)
test(1,2,3,5)
运行后输出
结果是:30
可否帮忙讲解一下程序如何运行,不理解,谢谢大佬们。

sunrise085 发表于 2021-1-26 11:26:08

本帖最后由 sunrise085 于 2021-1-26 11:29 编辑

def test(*params,base =3):       # 2、进入test方法,params为参数元组,含有1 2 3 5 ,base为含有默认值的关键字参数,这里为默认值3
    sum = 0                      # 3、变量sum为0
    if params[-1] != 5:          # 4、if判断params的最后一个值是否为5,是5则进入else,不是5则进入if
      for each in params:      # 遍历params
            sum +=each         # 对params中的项,逐项求和
      sum *=base               # 求和结果乘以base
      print("结果是:",sum)   # 打印输出结果
    else:
      base = 5                # 5、params最后一个值为5,进入这里,设置base为5
      params = params   # 6、params去掉最后一个值
      for each in params:   # 7、遍历params
            sum +=each          # 8、对params中的项,逐项求和
      sum *=base            # 9、求和结果乘以base
      print("结果是:",sum)#10、打印输出结果
test(1,2,3,5)      # 1、程序从这里开始运行,调用test方法,参数有四个,分别为1 2 3 5

SomeThing9 发表于 2021-1-26 11:38:48

sunrise085 发表于 2021-1-26 11:26


谢谢导师

天下有雪 发表于 2021-1-26 12:16:13

学习了。

SomeThing9 发表于 2021-1-26 16:26:06

天下有雪 发表于 2021-1-26 12:16
学习了。

可以可以学习是有前途的{:5_91:}
页: [1]
查看完整版本: 课后习题的程序设计大佬们帮讲解一下 没理解