鱼C论坛

 找回密码
 立即注册
查看: 1412|回复: 2

第18讲课后题,值得深入研究探讨,欢迎拍砖

[复制链接]
发表于 2020-8-14 06:13:12 | 显示全部楼层 |阅读模式

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

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

x
18课动手第0 题, 题目:0. 编写一个符合以下要求的函数:
    a) 计算打印所有参数的和乘以基数(base=3)的结果
    b) 如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。

============================================================
此题感受到了小甲鱼老师的精心准备,  我记得型参,实参,关键参, 唯独忘了收集参,:), 然后不得不看答案。

    def mFun(*param, base=3):
        result = 0
        for each in param:
            result += each

        result *= base
      
        print('结果是:', result)

    mFun(1, 2, 3, 4, 5, base=5)

然后这里面,我以为 题干是要求后面的关键字参数值是动态随动的, 也就是 *param  的最后一位值是几,  最后result  就要去乘以几。   

结果我就做了,  def  mFun(*param, base=param.pop()):       结果必然是报错。  但是问题来了。 在设定函数变量时, 如何能够取到收集参数的末位值,作为

后续关键字参数的值?   目测  也没法 在 设定函数 时,先把 收集参数定义个列表吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-14 06:13:49 | 显示全部楼层
这样只能在函数内部获取了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-14 08:56:44 | 显示全部楼层
def func(*arg, base=3):
    return sum(arg) * base
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 09:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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