有没有办法可以计算出用户生日之前的月份?

时间:2019-12-20 09:42:45

标签: python

我用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)。这应该可以解决问题。

1 个答案:

答案 0 :(得分:1)

您的操作不正确:

您应该这样做:

result = (int(BornIn) - CurrentMonth)%12

Modulo可以在明年生日时处理案件。没有取模,您将得到负面结果(这里不会有任何问题,因为我们在12月,所以您的生日不能在13个月之内)