我用Python制作了一个生日程序,该程序向用户询问他的出生月份,然后计算直到用户生日为止的月份。
例如,用户输入数字5,而当前月份为2,则程序输出“距离生日还有3个月!”。
在他确定正确的生日之前,我不知道如何计算月份。
示例:
from datetime import datetime
def Birthday():
CurrentMonth = datetime.now().month
BornIn = input("What month were you born in ? - ")
result = int(BornIn) + CurrentMonth
if int(BornIn) == CurrentMonth:
print("You have already Birthday in this month!")
elif int(BornIn) > 12:
print("Invalid Input!")
else:
print("You have", result , "monthes until your Birthday!")
Birthday()
要计算直到他生日前的几个月,我需要做些什么数学运算?
看第7行,我使用 + 进行了计算,但是显然它不起作用。
编辑:
我需要做result = CurrentMonth - int(BornIn)
。这应该可以解决问题。
答案 0 :(得分:1)
您的操作不正确:
您应该这样做:
result = (int(BornIn) - CurrentMonth)%12
Modulo可以在明年生日时处理案件。没有取模,您将得到负面结果(这里不会有任何问题,因为我们在12月,所以您的生日不能在13个月之内)