这就是我要做的:
用户将按顺序输入年、月数(1-12)和日数。程序将确定日期是在将来还是在过去。(如果输入的日期是今天的日期,则假定该日期是过去的日期)。未来的约会是尚未发生的日期。如果今天是7月31日,那么同年的8月1日就不是过去了,只是因为第(1)天在今天(31日)之前。对于输入,如果用户输入的月份无效,则显示适当的错误消息(如“无效月份”)并结束程序。如果用户输入的日期无效,则显示适当的错误消息(如“无效日期”)并结束程序。假设2月份有28天。换句话说,如果月份是二月,输入的日期是29,则显示错误消息并结束程序。记得:
三十天是九月、四月、六月和十一月,其余的都是31天,除了二月,它有28天。。。。在
定义一个名为
将来()
它接受给定的年数、月数和日数作为3个独立的参数。函数应该返回一个布尔值(True或False),以指示日期(年、月和日)参数是否在将来。如果返回的日期是真的,则返回的日期为假过去了。是吗不应在屏幕上绘制任何图像或文本。它也不应该要求用户输入。它只需确定给定日期是否在将来。找到一个代表未来的图像,一个代表过去的图像。例如未来的“杰森”和过去的旧车。如果日期在将来,请在画布中间显示您的未来图像。如果日期在过去,请在画布中间显示您的过去图像。在画布顶部,显示“将来”或“过去”,以与图像匹配的为准。要查找当前日期,可以将此导入和函数添加到代码中:
导入日期时间
def getTodaysDate():
返回日期时间。日期时间。今天();
如果在代码中的某个地方调用此函数:
今天=getTodaysDate();
然后可以使用year、month和day成员变量来获取当前的year、month和day。例如:
打印(今天.月);
将输出本月
到目前为止,这是我的代码,我在想办法让我的无效日错误消息在不同月份显示时遇到问题。例如,假设我只有28天,4月、6月、9月、11月有30天,其余31天。我试了几个小时测试不同的东西,但没能让它发挥作用:import sys
import tkinter
import datetime
import calendar
def getTodaysDate():
return ();
today = getTodaysDate();
print(today)
#def inTheFuture():
year= input ("Enter Year: ");
month= int(input ("Enter Month: "));
day= int(input ("Enter Day: "));
if (month > 12):
print("invalid Month")
raise SystemExit
if (month == 1,3,5,7,8,10,12):
(day > 31)
print("Invalid Day")
raise SystemExit
else:
(month == 2)
(day > 28)
print("Invalid Day")
raise SystemExit
else:
(month == 4,6,9,11)
(day > 30)
print("Invalid Day")
raise SystemExit