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是最终答案

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

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

以下函数将以任何输入数字的个位数和的形式提供输出。只需键入您的日期、月份、年份,将它们相加并为以下函数提供输入即可。

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

相关内容

最新更新