输入一个日期,格式是年月日中间用空格隔开,如aki的生日是1988 3 7。一个数,表示此人从出生到18岁生日所经过的天数。如果这个人没有18岁生日,就输出-1。用python写出代码
时间: 2023-05-30 11:05:57 浏览: 84
python根据出生日期获得年龄的方法
date = input().split() # 输入日期并分割成年月日
year, month, day = map(int, date) # 将年月日转换成整数
if month > 3 or (month == 3 and day > 7):
print(-1)
else:
days = (year + 17) * 365 # 18岁生日前的总天数
days += (year + 16) // 4 - (year + 100) // 100 + (year + 400) // 400 # 加上闰年天数
if month <= 2: # 如果不满18岁生日
days += (month - 1) * 31 + day # 加上月份和日期对应的天数
elif month <= 4:
days += 31 + (month - 3) * 30 + day
else:
days += 31 + 29 + 30 + (month - 5) * 31 + day
print(days) # 输出结果
阅读全文