[英]Sum digits of each integer in a list
我试图对列表中每个元素的数字求和并一次打印每个元素的总和,但我下面的代码只给了我 6 6 6。我想要的输出是 6 1 2。
#pythonCode#
my_list = [15, 10, 20]
sum = 0
m = ""
for i in range(0, 3):
while m != 0:
rem= my_list[i] % 10
m = my_list[i] //10
my_list[i] = m
sum = sum + rem
print(sum)
您可以使用map
来应用 lambda 函数来执行此操作 - 如果我正确理解所需的输出:
>>> my_list = [15, 10, 20]
>>> list(map(lambda x: sum(int(s) for s in str(x)), my_list))
[6, 1, 2]
完整地写出来,这大致相当于:
my_list = [15, 10, 20]
for integer in my_list:
total = 0
for digit in str(integer):
total += int(digit)
print(f"The sum of {integer} is {total}")
输出:
The sum of 15 is 6
The sum of 10 is 1
The sum of 20 is 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.