24课习题略改动就报错,求详解
本帖最后由 huyanmin 于 2020-12-20 19:09 编辑##24课习题举例:get_digits(12345) ==>
result = []
def get_digit(dec):#自编
if dec:
result +=
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) 列表+[数字]语法错误了吧
而且能用insert,append等现有的方法为什么不用 报错是:UnboundLocalError: local variable 'result' referenced before assignment,意思是局部变量'result'在赋值之前被引用,很熟悉的感觉吧,话说回来,为什么不用列表的那几个方法,非得用列表去自加呢 昨非 发表于 2020-12-21 21:49
列表+[数字]语法错误了吧
而且能用insert,append等现有的方法为什么不用
列表+[数字]语法错误了吧#我认为数字用中括号括起来应该变成列表了,所以能相加,不知道我想的对吗 yjptx121 发表于 2020-12-21 22:58
报错是:UnboundLocalError: local variable 'result' referenced before assignment,意思是局部变量'resu ...
result初值是空列表,列表是容器类型,应该是全局变量,函数内部应该也能对其值进行修改啊,迷惑啊,望指正 huyanmin 发表于 2020-12-22 09:25
列表+[数字]语法错误了吧#我认为数字用中括号括起来应该变成列表了,所以能相加,不知道我想的对吗
加是可以加的,列表加列表就是列表的组合
不过你这个报错了,是局部和全局的问题
具体没遇到过不太清楚
建议换个方法 语法方面可以参考这个
https://www.runoob.com/python3/python3-list.html
页:
[1]