python身份证求出生年月日,年龄,性别

根据用户输入的一个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,"岁的生日")

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年7月13日
下一篇 2023年7月13日

相关推荐