【问题标题】:Sum digits of each integer in a list对列表中每个整数的位数求和
【发布时间】:2020-04-25 04:26:31
【问题描述】:

我试图对列表中每个元素的数字求和并一次打印每个元素的总和,但我下面的代码只给了我 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)

【问题讨论】:

    标签: python python-3.x list sum integer


    【解决方案1】:

    您可以使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多