4399king 发表于 2020-8-1 20:56:00

代码细节不懂

def MyFunction2(*param, base = 3):
    result = 0
    for each in param:
      result += each
    result *= base
    print('计算结果是:',result)





要求是a)计算打印所有参数的和乘以基数(base = 3)的结果
b)如果参数中最后一个参数为(base = 5),则设定基数为5,基数不参与求和运算。

为啥我看不出这段代码实现了b)

Twilight6 发表于 2020-8-1 20:58:03

本帖最后由 Twilight6 于 2020-8-1 21:01 编辑



因为这里的最后一个参数是指 base,而 base 没有通过 for 循环加入 result 中去

这里就体现了 base 基数没有参与求和运算了

实际上这里的题目应该比较容易让人误解为,只要为 base 的值都不参与运算

或者认为 *param 的最后一个参数为 5 的时候,设置 base = 5 ,然后 5 不参与运算

实际题目中的 base 就是最后一个参数,而题意是让我们知道 base 是不参与 求和运算的,而不是只有在 base = 5 的时候不参与
页: [1]
查看完整版本: 代码细节不懂