月月月月悦! 发表于 2020-7-23 10:19:40

零基础入门学习python 第十八讲 动动手

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

我理解的题意是输入一系列值,如果值中最后一个没有5,就就和然后乘3,否则就求除了5以外的值的和再乘3

def chengji(*name):
    if name[-1] == 5:
      name = name
      a = sum(name)*3
      print(a)
    else:
      base = 3
      a = sum(name)*base
      print(a)

但参考答案是这个:

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)

是我理解错题意了吗?

Twilight6 发表于 2020-7-23 10:22:02



是的,你理解错了,这句话容易误导我们 --> 如果最后个参数为 5 ,就设置基数为5

实际上 base = 5 ,不就是基数等于 5 了嘛,而计算时候就是乘以 5 ,而不是 3 了

月月月月悦! 发表于 2020-7-25 09:35:45

Twilight6 发表于 2020-7-23 10:22
是的,你理解错了,这句话容易误导我们 --> 如果最后个参数为 5 ,就设置基数为5

实际上 base = 5...

原来如此,谢谢!

Twilight6 发表于 2020-7-25 09:36:25

月月月月悦! 发表于 2020-7-25 09:35
原来如此,谢谢!

客气了~
页: [1]
查看完整版本: 零基础入门学习python 第十八讲 动动手