牛逼牛逼 发表于 2020-4-28 11:33:03

小甲鱼第18讲看不懂

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)

原谅我看不懂题题目哈哈

Hoiste 发表于 2020-4-28 11:40:26

就是前面param收集的参数总和的结果乘以base的参数,如例子里面就是1+2+3+4+5的结果乘以base的5,这个函数的参数如果你只输入一串数字,那么就是这段数字的和乘3,如果参数是一串数字且最后加上base = xx的话就会改变base的值,就是前面一串数字之和乘以xx

永恒的蓝色梦想 发表于 2020-4-28 11:43:46

func=lambda *val,base=3:sum(val)*base

牛逼牛逼 发表于 2020-4-28 11:57:29

Hoiste 发表于 2020-4-28 11:40
就是前面param收集的参数总和的结果乘以base的参数,如例子里面就是1+2+3+4+5的结果乘以base的5,这个函数 ...

感谢大佬,看懂题目了

牛逼牛逼 发表于 2020-4-28 11:58:16

永恒的蓝色梦想 发表于 2020-4-28 11:43


大佬,我没学到这个程度哈哈

牛逼牛逼 发表于 2020-4-28 12:07:34

永恒的蓝色梦想 发表于 2020-4-28 11:43


def num(*a,base=3):
    b = sum(a)*base
    return b
print(num(1,2,3,4,5,6,base=5))
大佬我这样是不是也可以

牛逼牛逼 发表于 2020-4-28 12:08:22

Hoiste 发表于 2020-4-28 11:40
就是前面param收集的参数总和的结果乘以base的参数,如例子里面就是1+2+3+4+5的结果乘以base的5,这个函数 ...

def num(*a,base=3):
    b = sum(a)*base
    return b
print(num(1,2,3,4,5,6,base=5))
大佬我这样是不是也可以

qiuyouzhi 发表于 2020-4-28 12:54:53

牛逼牛逼 发表于 2020-4-28 12:07
def num(*a,base=3):
    b = sum(a)*base
    return b


当然可以,但是也可以更短:
def num(*a,base=3):
    return sum(a)*base
print(num(1,2,3,4,5,6,base=5))
那个是lambda表达式,你后面会学到。

牛逼牛逼 发表于 2020-4-28 17:30:00

qiuyouzhi 发表于 2020-4-28 12:54
当然可以,但是也可以更短:

那个是lambda表达式,你后面会学到。

好谢谢

qq404574811 发表于 2020-8-20 01:35:04

qiuyouzhi 发表于 2020-4-28 12:54
当然可以,但是也可以更短:

那个是lambda表达式,你后面会学到。

请问这里面的return是干嘛的作用, 哪节课学的return? 我想系统学一下

qiuyouzhi 发表于 2020-8-20 08:09:51

qq404574811 发表于 2020-8-20 01:35
请问这里面的return是干嘛的作用, 哪节课学的return? 我想系统学一下

函数
页: [1]
查看完整版本: 小甲鱼第18讲看不懂