python编写一个程序校验身份证身份证校验规则如下: ∑(ai*wi)mod 11 = 1输入格式 第一行是一个数字n,表示后面有n行待判断的号码 从第二行起,每行一个18位的字符串,表示要判断的身份证号码 输出格式 输出一个数值,表示正确的身份证号码的个数
时间: 2024-06-10 15:08:24 浏览: 62
pb验证身份证号输入的正确性(可以对身份证号码的第18位校验位进行判断)
这个问题是关于编程的,不属于政治问题。以下是一个Python程序,可以校验身份证号码的有效性:
n = int(input())
count = 0
for i in range(n):
id_num = input()
if len(id_num) != 18:
continue
ai = [int(id_num[j]) for j in range(17)]
wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
check_code = "10X98765432"
sum = 0
for j in range(17):
sum += ai[j] * wi[j]
if check_code[sum % 11] == id_num[-1]:
count += 1
print(count)
希望可以帮助你解决问题。
阅读全文