lzb1001 发表于 2023-4-20 18:47:08

max()方法的内部实现

小甲鱼在视频里的代码如下:

tuple1 = (2, 5, 0, 5, 9, -1)
max = tuple1

for each in tuple1:
    if each > max:
      max = each

return max


但我按此代码运行将返回错误,最后一句改成print(max)才行

isdkz 发表于 2023-4-20 18:48:42

你这代码也不完整呀,return 是应该放在函数里的

歌者文明清理员 发表于 2023-4-20 18:58:56

小甲鱼的视频链接?
小甲鱼应该是做了一个函数,函数使用return返回值,但是主程序里不能用return,要用print输出
return是返回值,值还可以用;
print是输出值,值虽然你看见了,但只要没有被储存给变量,值就不能被程序再次调用

lzb1001 发表于 2023-4-20 19:06:51

isdkz 发表于 2023-4-20 18:48
你这代码也不完整呀,return 是应该放在函数里的

对啊,错误提示就是return在函数外了

lzb1001 发表于 2023-4-20 19:08:05

歌者文明清理员 发表于 2023-4-20 18:58
小甲鱼的视频链接?
小甲鱼应该是做了一个函数,函数使用return返回值,但是主程序里不能用return,要用pr ...

https://www.bilibili.com/video/BV1xs411Q799?p=17,视频12:28处

歌者文明清理员 发表于 2023-4-20 19:13:37

lzb1001 发表于 2023-4-20 19:08
https://www.bilibili.com/video/BV1xs411Q799?p=17,视频12:28处

他的意思是,自定义max函数,然后函数的内部实现逻辑
所以,他的意思是:
def max(tuple1):
    max = tuple1
   
    for each in tuple1:
      if each > max:
            max = each
   
    return max


tuple1 = (2, 5, 0, 5, 9, -1)
print(max(tuple1))

lzb1001 发表于 2023-4-20 22:08:33

歌者文明清理员 发表于 2023-4-20 19:13
他的意思是,自定义max函数,然后函数的内部实现逻辑
所以,他的意思是:

再请教下大神:return为何不是与max = each或if each > max:同级缩进,而是与for each in tuple1:同级缩进?

歌者文明清理员 发表于 2023-4-20 22:28:28

lzb1001 发表于 2023-4-20 22:08
再请教下大神:return为何不是与max = each或if each > max:同级缩进,而是与for each in tuple1:同级缩 ...

因为max = each或if each > max的时候,还没判断完,不好结束
页: [1]
查看完整版本: max()方法的内部实现