鱼C论坛

 找回密码
 立即注册
查看: 1477|回复: 6

[已解决]24课习题略改动就报错,求详解

[复制链接]
发表于 2020-12-20 19:07:35 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 huyanmin 于 2020-12-20 19:09 编辑

##24课习题举例:get_digits(12345) ==> [1, 2, 3, 4, 5]

result = []
def get_digit(dec):#自编
   
   
   
   
    if dec:
        result +=[dec % 10]
        
        get_digit(dec//10)
        
   
get_digit(12345)
print(result)


result = []
def get_digits(n):
        
#下面是代码原文   
        if n > 0:
            
            
            result.insert(0, n%10)
            get_digits(n//10)
              

get_digits(12345)

print(result)
最佳答案
2020-12-22 09:35:24
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-21 21:49:17 | 显示全部楼层
列表+[数字]语法错误了吧

而且能用insert,append等现有的方法为什么不用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-21 22:58:53 | 显示全部楼层
报错是:UnboundLocalError: local variable 'result' referenced before assignment,意思是局部变量'result'在赋值之前被引用,很熟悉的感觉吧,话说回来,为什么不用列表的那几个方法,非得用列表去自加呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-22 09:25:44 | 显示全部楼层
昨非 发表于 2020-12-21 21:49
列表+[数字]语法错误了吧

而且能用insert,append等现有的方法为什么不用

列表+[数字]语法错误了吧#我认为数字用中括号括起来应该变成列表了,所以能相加,不知道我想的对吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-22 09:29:54 | 显示全部楼层
yjptx121 发表于 2020-12-21 22:58
报错是:UnboundLocalError: local variable 'result' referenced before assignment,意思是局部变量'resu ...

result初值是空列表,列表是容器类型,应该是全局变量,函数内部应该也能对其值进行修改啊,迷惑啊,望指正
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-22 09:34:35 | 显示全部楼层
huyanmin 发表于 2020-12-22 09:25
列表+[数字]语法错误了吧#我认为数字用中括号括起来应该变成列表了,所以能相加,不知道我想的对吗

加是可以加的,列表加列表就是列表的组合
不过你这个报错了,是局部和全局的问题
具体没遇到过不太清楚
建议换个方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-22 09:35:24 | 显示全部楼层    本楼为最佳答案   
语法方面可以参考这个
https://www.runoob.com/python3/python3-list.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-10 17:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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