鱼C论坛

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

[已解决]Python课后习题

[复制链接]
发表于 2020-2-17 22:20:50 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 隋戈子 于 2020-2-17 23:02 编辑

题目:
编写一个符合以下要求的函数:
    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)
我的疑惑:
mFun(*param, base=3)中的base=3是形参吗?

我的答案:
def sum(member):
    result = 0
    for each in member:
        result += each
        return
        

def sum1(member):
    if member[-1] != 5:
            base = 3
            result *= base
            print(result)
        
    else:
        base = 5
        result = result - 5
        result *= base
        print(result)

运行一下

                               
登录/注册后可看大图


为什么会这样呢?
百思不得解
最佳答案
2020-2-18 11:06:31
你理解错题目了

而且你 sum1 并没有调用,sum1() 才是调用函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-18 00:11:15 | 显示全部楼层
首先解答你
mFun(*param, base=3) 是形参,*param可变参数(意思就是可传多个参数);base 是固定参数,且已初始化值3

再说你的代码
跟题目沾不上半点边,说得很清楚了,所有参数,你一个列表算所有参数吗?(当然在编程的时候想不到别的办法,用列表当多参数也是个办法)
别怪我说得难听,你的代码就是拖屎
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2020-2-18 08:33:41 | 显示全部楼层
看不懂你的,member【-1】什么意思?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-18 11:06:31 | 显示全部楼层    本楼为最佳答案   
你理解错题目了

而且你 sum1 并没有调用,sum1() 才是调用函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-18 17:25:19 | 显示全部楼层
zltzlt 发表于 2020-2-18 11:06
你理解错题目了

而且你 sum1 并没有调用,sum1() 才是调用函数

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 09:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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