Python Sum个别整数

时间:2016-05-02 03:31:04

标签: python

我想创建一个python应用程序,它总结了生日的数量。

day = raw_input("What day were you born?")
month = raw_input("What month were you born?")
year = raw_input("What year were you born?")
day = int(day)
month = int(month)
year = int(year)

让我们说有人出生于1928年10月12日;我怎么能让这个应用程序总结如下:1 + 2 + 1 + 0 + 1 + 9 + 2 + 8? 这是在Python 2.7

上完成的

PS:我忘了提到我的最终结果必须是一位数字,所以例如在上面的总和中结果是24但是这个数字必须求和,所以2 + 4 = 6,最后6答案。

2 个答案:

答案 0 :(得分:3)

不是将它们作为整数强制转换,而是将它们添加为字符串,然后将每个字符映射为整数并找到总和:

day = raw_input("What day were you born?")
month = raw_input("What month were you born?")
year = raw_input("What year were you born?")
print sum(map(int, day+month+year))

如果您希望在到达一位数字之前继续添加数字,请使用循环:

day = raw_input("What day were you born?")
month = raw_input("What month were you born?")
year = raw_input("What year were you born?")
num = day+month+year
while len(num) > 1:
    num = str(sum(map(int, num)))
print num

答案 1 :(得分:0)

以下函数将输出作为任何输入数字的单个数字总和。只需对您的日,月,年进行类型转换,将它们相加并为以下功能提供输入。

def get_sum_as_single_digit(digit):
    final_sum=0
    while digit>0:
        mod = digit%10
        digit = digit/10
        final_sum = final_sum + mod
    if final_sum>9:
        return get_single_digit_sum(final_sum)
    else:
        return final_sum