鱼C论坛

 找回密码
 立即注册
查看: 1671|回复: 4

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

[复制链接]
发表于 2021-1-26 10:59:17 | 显示全部楼层 |阅读模式

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

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

x
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[0:-1]
        for each in params:
            sum +=each
        sum *=base
        print("结果是:",sum)
test(1,2,3,5)
运行后输出
结果是:30
可否帮忙讲解一下程序如何运行,不理解,谢谢大佬们。
最佳答案
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[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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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[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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-26 11:38:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-26 12:16:13 | 显示全部楼层
学习了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-26 16:26:06 | 显示全部楼层

可以可以  学习是有前途的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 16:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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