我需要在Pyhton3上安装一个程序,以检查用户是否为18岁以上。输入:出生日期。如果打印错误(格式错误),则以4种格式(25/12 / 2000、25-12-2000、25.12.2000、25_12_2000)输出:“欢迎使用系统”或“抱歉,当您18岁以上时复出”如果您需要我的愚蠢尝试:
from datetime import datetime, date
def try_parsing_date(text):
for fmt in ('%d/%m/%Y', '%d.%m.%Y', '%d-%m-%Y', '%d_%m_%Y'):
try:
return datetime.strftime(text,fmt)
except ValueError:
pass
raise ValueError('no valid date format')
dob = input('Введите свой день рождения (дд/мм/гггг): ')
try_parsing_date(dob)
也许用正则表达式处理它?
```re_age_checker= "^(0[1-9]|[12][0-9]|3[01])[- \/.,_](0[1-9]|1[012])[- \/.,_](19|20)\d\d"```
您的尝试是一个不错的开始,但您却strftime
与strptime
;改变它。
也许用正则表达式处理它?
不建议这样做。完成上述更改后,我们可以使用函数的结果try_parsing_date
来计算18岁生日,并将其与今天的日期进行比较:
dt = try_parsing_date(dob)
import time
# compute the 18th birthday:
d = date.fromtimestamp(time.mktime((dt.year+18, dt.month, dt.day, *(0,)*6)))
if d <= date.today():
print("welcome to system")
else:
print("sorry comeback when you will be 18+")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句