|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
学校社团要我们写一个生日倒计时的代码,也就是输入你的生日,然后会打印出还有多少天是你的生日
但是输入日期的时候要求加上一个检查日期合法性的东西,然后要告诉输入者错误的地方并要求重新输入
大部分东西都完成了,就差这么一点点,实在想不到什么简单的方法,如果一个月一个月去编写代码来检查,那实在是太繁琐了。。
# coding=<encoding name> : # coding=utf-8
import datetime
import time
year = input("输入你的出生年:")
month = input("输入你的出生月:")
day = input("输入你的出生日:")
y = int (year)
m = int (month)
d = int (day)
def my_function():
a = datetime.date.today()
b = datetime.date(y, m, d,)
print ("你的生日是:",b)
Y = a.year
if m ==2 and d == 29:
Y = a.year
while Y%4 != 0:
Y = Y + 1
b = datetime.date( Y, m, d)
delta = b - a
if b > a:
print("那么还有",delta,"就是你的生日了")
elif b < a:
print("你的生日过去了啊、、、")
print(-delta,"前是你的生日啊")
elif b == a:
print("今天就是你的生日哦!!!")
return a,b
my_function()
自己做的就这么一点点
这样做:
- # coding=utf-8
- import datetime
- while True:
- try:
- year = input("输入你的出生年:")
- month = input("输入你的出生月:")
- day = input("输入你的出生日:")
- y = int (year)
- m = int (month)
- d = int (day)
- datetime.date(y, m, d)
- break
- except Exception:
- print("输入有误,请重新输入!")
- def my_function():
- a = datetime.date.today()
- b = datetime.date(y, m, d)
- print ("你的生日是:",b)
- Y = a.year
- if m ==2 and d == 29:
- Y = a.year
- while Y%4 != 0:
- Y = Y + 1
- b = datetime.date( Y, m, d)
- delta = b - a
- if b > a:
- print("那么还有",delta,"就是你的生日了")
- elif b < a:
- print("你的生日过去了啊、、、")
- print(-delta,"前是你的生日啊")
- elif b == a:
- print("今天就是你的生日哦!!!")
- return a,b
- my_function()
复制代码
|
|