昨天python考试有一道检验身份证号的题目,要求输入身份证号,检验其是否正确,如果正确,则输出生日和性别。代码如下:
a=input()
b=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
def gender():
if a[-1]=="X" or eval(a[-2])%2!=0:
print("男性")
else:
print("女性")
def data():
year=a[6:10]
month=a[10:12]
day=a[12:14]
print("{}年{}月{}日".format(year,month,day))
def jianyan():
d=0
for i in range(0,len(a)-1):
d+=b[i]*eval(a[i])
d=d%11
if d==2 and a[-1]=="X":
print("True")
data()
gender()
elif d+eval(a[-1])==12:
print("True")
data()
gender()
elif d!=2 and a[-1]=="X":
print("False")
else:
print("False")
jianyan()
领取专属 10元无门槛券
私享最新 技术干货