python123:身份证号处理

描述
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,
第17位代表性别,奇数为男,偶数为女。
用户输入一个合法的身份证号,请输出用户的出生年月日,年龄和性别。(不要求较验输入的合法性)
请先查看下方此题特别说明。
提示

import datetime

datetime.datetime.now().year  #可用于获得当前年份

输入格式
输入一个合法的身份证号字符串‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输出格式
类似以下格式输出:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬你出生于1973年05月16日
你今年45周岁
你的性别为男
解决方案:

import datetime
s=input()
year=s[6:10]
month=s[10:12]
day=s[12:14]
sev=int(s[16])
if sev%2==0:
    sex='女'
else:
    sex='男'
age=datetime.datetime.now().year-int(year)
print("你出生于{}年{}月{}日".format(year,month,day))
print("你今年{}周岁".format(age))
print("你的性别为{}".format(sex))

你可能感兴趣的:(python,python)