好的,所以我写了这个:
n=123465
def digit_sum(n):
answer=[]
n=str(n)
for x in n:
print x
x = int(x)
answer = answer.append(x)
return sum(answer)
print digit_sum(n)
问题是我写answer = answer.append(x)
时我应该写answer.append(x)
。有人可以告诉我为什么我不能写answer = answer.append(x)
?
答案 0 :(得分:3)
append
始终返回None
。因此,通过执行a = a.append(x)
,您首先将x
附加到a
,然后将a
设置为None
(append
的返回值)。< / p>
答案 1 :(得分:1)
@Hyperboreus回答append
时返回None
。不谈论代码的充分性,你只能将列表连接到列表:
x = [int(x)]
answer += x
等于answer.extend([int(x)]))
但确定更恰当的是answer.append(int(x))
<@ 1m注释应该被提及作为实现整个事物的pythonic方式:{ {1}}