产品执行码暂缺 发表于 2020-8-2 17:18:33

函数定义的参数问题-课后作业18

本帖最后由 产品执行码暂缺 于 2020-8-2 17:19 编辑

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)


我对要求b很困惑,b的前两句不是废话么。。。。。而且答案没有满足基数5不参与求和运算吧。。。

Twilight6 发表于 2020-8-2 17:19:32



你理解错题意了,实际上这里提示 基数不参与求和计算 的前提是都存在的,并不是在 base = 5 的情况下才这样


产品执行码暂缺 发表于 2020-8-2 17:21:06

Twilight6 发表于 2020-8-2 17:19
你理解错题意了,实际上这里提示 基数不参与求和计算 的前提是都存在的,并不是在 base = 5 的情况下才 ...

那答案也不对吧 应该在for下面加一行吧
      if each == base:
            continue

zltzlt 发表于 2020-8-2 17:21:49

产品执行码暂缺 发表于 2020-8-2 17:21
那答案也不对吧 应该在for下面加一行吧

param 不包含 base

产品执行码暂缺 发表于 2020-8-2 17:23:41

zltzlt 发表于 2020-8-2 17:21
param 不包含 base

所以是我理解题意的问题 我以为题意中的第一个‘参数’只是指param的奥 明白了

Twilight6 发表于 2020-8-2 17:29:08

产品执行码暂缺 发表于 2020-8-2 17:21
那答案也不对吧 应该在for下面加一行吧




哈哈 你理解题意和我第一次做的一样,我也是这么理解的

题目太容易误导人了,实际上 param 里面的 5 不算在内的,不参与运算的只有 base = 5 这一个参数

页: [1]
查看完整版本: 函数定义的参数问题-课后作业18