a1324809812 发表于 2020-3-20 21:34:19

023,024课后作业求助

python初学者一名,最近做到023和024的汉诺塔作业,作业里有一题是这样的:

1. 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==>

我的代码如图所示:

为什么跑出来的结果一直告诉我 'NoneType' object is not reversible,想请问一下这是什么意思。

最后如果我不参考小甲鱼给的答案,而是按照这种思路写代码的话,我的该如何修改呢?
非常感谢



   

sunrise085 发表于 2020-3-20 21:49:40

你的函数有两个参数,但是调用的时候你只给了一个参数

a1324809812 发表于 2020-3-20 22:07:19

sunrise085 发表于 2020-3-20 21:49
你的函数有两个参数,但是调用的时候你只给了一个参数

我调用list1的话他会说我这个list1没有define。。我很懵

sunrise085 发表于 2020-3-20 22:10:42

a1324809812 发表于 2020-3-20 22:07
我调用list1的话他会说我这个list1没有define。。我很懵

那就在调用之前定义啊。这有啥懵的啊
这是列表啊,不定义怎么调用?

a1324809812 发表于 2020-3-20 22:54:50

sunrise085 发表于 2020-3-20 22:10
那就在调用之前定义啊。这有啥懵的啊
这是列表啊,不定义怎么调用?

老哥你是说我在这个函数之前就先定义list1吗?
然后最后调用的时候调用两个参数?
但如果我提前定义的话,还是跑不了。
说的是NoneType' object is not reversible

永恒的蓝色梦想 发表于 2020-3-20 22:57:45

list的append方法没有返回值,不能reverse

永恒的蓝色梦想 发表于 2020-3-20 23:00:15

还有,这里不应该reversed
给你改了一下代码def get_digit(number,list1=[]):
        if number==0:
                return list1
        else:
                list1.insert(0,number%10)
                return get_digit(number//10,list1)

a1324809812 发表于 2020-3-20 23:21:26

永恒的蓝色梦想 发表于 2020-3-20 23:00
还有,这里不应该reversed
给你改了一下代码

好的好的我懂了!老哥感谢你!

永恒的蓝色梦想 发表于 2020-3-20 23:23:16

a1324809812 发表于 2020-3-20 23:21
好的好的我懂了!老哥感谢你!

一起加油!
页: [1]
查看完整版本: 023,024课后作业求助