Python3 身份证号处理
Posted 犬饲Atsuhiro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3 身份证号处理相关的知识,希望对你有一定的参考价值。
身份证号处理
描述
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
用户输入一个合法的身份证号,请输出用户的出生年月日,年龄和性别。(不要求较验输入的合法性)
import datetime
datetime.datetime.now().year #可用于获得当前年份
输入格式
输入一个合法的身份证号字符串
输出格式
类似以下格式输出:
你出生于1973年05月16日
你今年47周岁
你的性别为男
输入输出示例
输入 输出
220221197305165535 你出生于1973年05月16日
你今年47周岁
你的性别为男
本题的出题时间为2020年,故输出格式中的年龄一项随着年份的改变会改变,不具有参考价值,且此处周岁无论是否过生日都为当前年份 - 出生年份
以下代码为日常生活中计算周岁的方式的算法
代码
from datetime import * str1 = input() age = datetime.now().year - int(str1[6:10]) if datetime.now().month > int(str1[10:12]): age = age - 1 elif datetime.now().month == int(str1[10:12]): if datetime.now().day > int(str1[12:14]): age = age - 1 if int(str1[16])%2!=0: sex = "男" else: sex = "女" print("你出生于{}年{}月{}日".format(str1[6:10],str1[10:12],str1[12:14])) print("你今年{}周岁".format(age)) print("你的性别为{}".format(sex))
关于datetime
可以参考 Awakenedy大佬的博客园 https://www.cnblogs.com/awakenedy/articles/9182036.html
以上是关于Python3 身份证号处理的主要内容,如果未能解决你的问题,请参考以下文章
java源代码是给你一个身份证号,通过面板身份证号的输入,显示出该身份证主人的出生年月,省份,性别等资料