从输入的任何日期开始,我如何添加另一个输入的天数以便它给我新的日期?
D=int(input("Ingresar dia de la fecha:"))
while D<0 or D>31:
print("Dia no válido")
D=int(input("Ingresar dia de la fecha:"))
M=int(input("Ingresar mes correspondiente:"))
while M<0 or M>12:
print("Mes no válido")
M=int(input("Ingresar mes:"))
A=int(input("Ingresar año correspondiente:"))
while A<0:
print("Año no valido")
A=int(input("Ingresar año:"))
FI=int(input("Ingrese fecha a saber:"))
while FI<0:
print("No es válido")
FI=int(input("Ingresar fecha a saber:"))
if FI>=365:
print(D,M,(A+1))
如果我用 IF 做这样的事情,我需要永远声明所有的可能性,我应该如何以简单的方式做到这一点?
使用
datetime
python 模块是微不足道的,因为它包括将表示日期的字符串转换为其内部日期表示所需的一切,以及用于添加/减去等这些日期并将它们打印回来的运算符。例如:
执行示例:
现在,我知道这个解决方案在你的情况下是无效的,因为它是一个介绍性的编程练习,你必须在其中编写你
datetime
已经完成的代码。在这种情况下,一个简单的解决方案可能是将用户给您的日期转换为一个整数,该整数表示自年初以来经过的天数。为此,您可以拥有一个包含 12 个元素的列表,这些元素是每个月的日期,将所有元素添加到用户给您的月份(不包括在内),然后将月份的日期添加到其中。
在这个整数上加上
delta
用户给你的那个,你将得到另一个整数,它表示从第一个日期的年初到寻找的日期所经过的天数。您必须将该整数转换为年、月和日,您可以除以 365 以找到经过的年数,并保留其余部分以查看目标年的天数。然后,您将再次使用每月天数列表。您从该整数中减去该列表中每个月的天数,而结果是正数,以便找出它所在的月份。该月的日期将是剩余金额。如果您必须考虑闰年,事情会变得稍微复杂一些。有必要了解问题的具体规范,以确定是否有必要处理这些情况。