根据用户输入的一个18位合法身份证号,输出用户的出生年月日、年龄和性别[第7、8、9、10位出生年份(四位数);第11、第12位为出生月份;第13、14为代表出生日期;第17位代表性别,奇数为男,偶数为女]
代码为:
import datetime
ID = input("输入一个有效的身份证号:")
today = datetime.datetime.now()
CY = today.year #今天的年份
CM = today.month #今天的月份
CD = today.day #今天的日期
CMD = 100 * CM + CD #公式
BY = int(ID[6:10]) #输入的身份证中的年份
BMD = int(ID[10:14]) #输入的身份证中的月份和日期
delta = CMD - BMD
if int(ID[16])%2==0:
print("您出生于{}年{}月{}日,性别为女".format(ID[6:10],ID[10:12],ID[12:14]))
if delta > 0:
print("年龄为:",CY - BY,"岁")
elif delta < 0:
print("年龄为:",CY - BY - 1,"岁")
elif delta == 0:
print("今天刚好是您",CY - BY,"岁的生日")
else:
print("您出生于{}年{}月{}日,性别为男".format(ID[6:10],ID[10:12],ID[12:14]))
if delta > 0:
print("年龄为:",CY - BY,"岁")
elif delta < 0:
print("年龄为:",CY - BY - 1,"岁")
elif delta == 0:
print("今天刚好是您",CY - BY,"岁的生日")