我想创建一个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答案。
答案 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