python3 实现身份证有效性校验
直接上代码
# --coding:utf-8--
W = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] # 加权系数
M_run = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 闰年每月天数
M_ping = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 平年每月天数
while True:
while True:
id_number = input('请输入一个18位的身份证号码:')
if len(id_number) != 18 or not id_number[:-1].isdigit() or not \
id_number[-1].isdigit() and (id_number[-1] != 'X' or id_number[-1] != 'x'):
print('身份证号码错误')
else:
break
while True:
id_sex = input('请输入性别:')
if id_sex != '男' and id_sex != '女':
print('性别错误')
else:
break
print('身份证号:', id_number)
print('性 别:', id_sex)
id_number_dict = dict()
id_number_dict['地址码'] =