将数字的数字加在一起

时间:2018-04-12 11:55:59

标签: python python-2.7 math

我正在阅读一本书,并且我已被指示制作一个程序,该程序从用户读取一个四位数字,然后在四位数字相加时返回该值,

  

例如:3141:3 + 1 + 4 + 1 = 9

。 我该如何拆分并对数字进行排序?

3 个答案:

答案 0 :(得分:1)

一种方法是将 int转换为字符串并将其拆分并使用sum

<强>实施例

n = 3141
print(sum([int(i) for i in str(n)]))   #list comprehension 
print(sum(map(int, list(str(n)))))     #using map

<强>输出:

9

答案 1 :(得分:1)

不使用str() / int()转化来回转前进并迭代各个数字:

def sum_digits(number):
    if number < 10:
        return number
    return number % 10 + sum_digits(number // 10)

print(sum_digits(3141))  # 9

也应该快得多。

答案 2 :(得分:0)

当用户输入数字时,您可以获得string。可以使用list将此字符串拖入split(separator)

示例:

digits = 1234
list_digit = digits.split("")  //I lived blank the separator as there is no character between each value we need. 
print list_digit

它将返回list_digit = ['1','2','3','4'];

由此,您只需使用for循环遍历列表的所有值。

total = 0
for digit in list_digit:
    print digit
    total = total+int(digit) //Note the convertion from string to int to avoid any error. 
print total

这不是可能的短,但它会做的事情