200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 验证身份证号码:

验证身份证号码:

时间:2019-05-03 19:08:18

相关推荐

验证身份证号码:

将18 位身份证的前17 位,对应乘以以下值(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2),

并累加这些乘积为s,将s 对11 求余,结果为0-10,对应的末尾验证码为('1', '0', 'X', '9', '8','7', '6', '5', '4', '3', '2'),利用元组知识,实现用户可循环输入18 位身份证号码,输出身份证号码是否正确,输入“退出”,退出系统。

(1)输出结果格式,身份证号码不正确:

您输入的身份证号是xxxxxxxxx

您的身份证号码不正确,请重新输入

(2)输出结果格式,身份证号码正确:

您输入的身份证号是xxxxxxxxx

先生/女士,您的出生日期是xxxx 年xx 月xx 日(提示:身份证倒数第二位是奇数表示男,为偶数表示女,所以前面提示时,身份证为男的就显示“先生”,身份证为女的就显示为“女士”)

您的身份证号码是一个有效的身份证号码

def mistake():"""输入错误"""print("您输入的身份证号是"+id_number)print("您的身份证号码不正确,请重新输入")test1_tuple = (7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2) # 身份证号验证权值test2_tuple = ('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2') # 求余后末尾验证码f = 1 # 循环标志while f:id_number = input("请输入您的身份证号:")index = 0s = 0if id_number == "退出":f = 0 # 退出循环else:if len(id_number) == 18: # 判断是否18位for i in id_number[:17]: # 遍历前17位,验证其为数字并计算前17位加权乘积和stry:s = s + int(i) * int(test1_tuple[index])index = index + 1except:passtest = s % 11if id_number[17] == test2_tuple[test]: # 验证末尾验证码print("您输入的身份证号是"+id_number)if int(id_number[16]) % 2 == 0:print("女士,您的出生日期是"+id_number[6:10]+" 年"+id_number[10:12]+" 月"+id_number[12:14]+" 日")print("您的身份证号码是一个有效的身份证号码")else:print("先生,您的出生日期是"+id_number[6:10]+" 年"+id_number[10:12]+" 月"+id_number[12:14]+" 日")print("您的身份证号码是一个有效的身份证号码")else:mistake()passelse:mistake()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
验证身份证号码

验证身份证号码

2022-07-22

身份证号码验证

身份证号码验证

2021-07-17

身份证号码验证位

身份证号码验证位

2023-01-03

身份证号码的验证

身份证号码的验证

2019-11-04