第23.24讲,这代码错在哪里
原题题目:写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==>我写的代码,跑出来print(i)有数据,但函数返回NONE,求解这是为什么:
def get_digits(n):
list1 = []
list2 = []
n = str(n)
for i in n:
print(i)
list2 = list1.append('i')
return list2
print(get_digits(123456)) 本帖最后由 qiuyouzhi 于 2020-3-23 13:14 编辑
列表的大部分操作没有返回值。。。。
而且,你append('i')是什么鬼?
def get_digits(n):
list1 = []
n = str(n)
for i in n:
print(i)
list1.append(i)
return list1
print(get_digits(123456)) 列表的大部分操作都没有返回值,它只会操作列表自身。
而且引用变量不用加双引号。
def get_digits(n):
list1 = [] # list2 = [] 这一句多余,去掉
n = str(n)
for i in n:
print(i)
list1.append(i) # 更改
return list1
print(get_digits(123456)) zltzlt 发表于 2020-3-23 13:16
列表的大部分操作都没有返回值,它只会操作列表自身。
而且引用变量不用加双引号。
为什么list1有返回,而之前的list2没有呢{:10_266:} miusa 发表于 2020-3-23 13:21
为什么list1有返回,而之前的list2没有呢
什么意思? zltzlt 发表于 2020-3-23 13:22
什么意思?
def get_digits(n):
list1 = []
n = str(n)
for i in n:
print(i)
list1.append(i)
return list1 #同样是返回列表,为什么list1.append(i)之后,return list1 有返回值,而list2=list1.sppen(i)之后,return list2 没有返回值呢……这个list1与list2不是同一个数据内容么{:10_266:}
print(get_digits(123456))
页:
[1]