输入1个正整数,求各位上数字的和。

不懂他的原理,就是说我不知道怎么求一个正整数的各位数的和,所以不会写。

n = input()
print(sum(int(s) for s in n))
n = input()
print(sum(map(int,n)))

input()录入的是一个字符串,以n = '1356'为例:
list(n) # ['1', '3', '5', '6']
转出来的是各位上的字符,不能相加
可以用 map( int , n ) 来转换
list(map( int ,'1356' )) # [1, 3, 5, 6]
这样就可以用sum求和: sum(list(map( int ,'1356' )))
map前的list可以省掉,sum可以直接对map对象求和:
sum(map( int ,'1356' ))