|  | 
 
| 
def test(*params,base =3):
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  sum = 0
 if params[-1] != 5:
 for each in params:
 sum +=each
 sum *=base
 print("结果是:",sum)
 else:
 base = 5
 params = params[0:-1]
 for each in params:
 sum +=each
 sum *=base
 print("结果是:",sum)
 test(1,2,3,5)
 运行后输出
 结果是:30
 可否帮忙讲解一下程序如何运行,不理解,谢谢大佬们。
 
 本帖最后由 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[0:-1]   # 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
 | 
 |