鱼C论坛

 找回密码
 立即注册
查看: 1606|回复: 3

给出的错误是函数没有定义,想知道为什么

[复制链接]
发表于 2017-12-29 21:26:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
tree = ['30',['52',['23',[],[]],['74',[],[]]],['15',['86',[],[]],['10',[],[]]]]

compare(tree)
maxiunm = num.pop
print(maxium)

def compare(tree):
    num =[]
    if tree[1] !=[] and tree[2] !=[]:
        max = tree[0]
        if tree(0) < tree(1):
            max = tree[1]
            num.append(max)
        if tree(1) < tree(2):
            max = tree[2]
            num.append(max)
    compare(tree[1])
    compare(tree[2])
    num.sort()
    return num
        
这个是求这个二叉树的最大值的,帮忙看看哪有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-29 21:37:01 | 显示全部楼层
本帖最后由 铁棍阿童木 于 2017-12-29 21:38 编辑

调用函数要放在函数定义的后面的,python是解释型语言。
你这样先调用后定义,当然提示没有定义啊。
而且,调用也有问题。

既然函数有返回值,应该用一个变量来接收返回值。否则num.pop()也会报错,因为num是个函数的局部变量。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-12-29 21:59:27 | 显示全部楼层
你好,谢谢解答
我想把num设为列表,存放每一组中比较出来的最大值,怎么改呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 22:00:19 | 显示全部楼层
铁棍阿童木 发表于 2017-12-29 21:37
调用函数要放在函数定义的后面的,python是解释型语言。
你这样先调用后定义,当然提示没有定义啊。
而且 ...


你好,谢谢解答
我想把num设为列表,存放每一组中比较出来的最大值,怎么改呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-26 19:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表