Python问题,,,,详情请大佬往下看
学校社团要我们写一个生日倒计时的代码,也就是输入你的生日,然后会打印出还有多少天是你的生日但是输入日期的时候要求加上一个检查日期合法性的东西,然后要告诉输入者错误的地方并要求重新输入
大部分东西都完成了,就差这么一点点,实在想不到什么简单的方法,如果一个月一个月去编写代码来检查,那实在是太繁琐了。。
# 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
whileY%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()
自己做的就这么一点点
用datetime.date检查
>>> datetime.date(1992,15,2)
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
datetime.date(1992,15,2)
ValueError: month must be in 1..12
>>> datetime.date(1992,2,29)
datetime.date(1992, 2, 29)
>>> datetime.date(1993,2,29)
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
datetime.date(1993,2,29)
ValueError: day is out of range for month 冬雪雪冬 发表于 2019-10-2 12:32
用datetime.date检查
oh,学到了 冬雪雪冬 发表于 2019-10-2 12:32
用datetime.date检查
那报错之后要如何返回到输入,让对方重新输入呢? 2444340649 发表于 2019-10-2 14:10
那报错之后要如何返回到输入,让对方重新输入呢?
这样做:
# 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
whileY%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() zltzlt 发表于 2019-10-2 14:50
这样做:
这样挺好了,那如果要知道哪里错了,有可能实现嘛
页:
[1]