自己试了但是有部分不对,但不知道哪错了,有什么方法解决这个吗?
这个问题我回答过?
def is_valid_id_number(id_number):
factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
parity = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
if len(id_number) != 18:
return False
if not id_number[:-1].isdigit():
return False
if id_number[-1] not in parity:
return False
sum = 0
for i in range(17):
sum += int(id_number[i]) * factor[i]
check = parity[sum % 11]
return check == id_number[-1]
n = int(input())
count = 0
for i in range(n):
id_number = input()
if is_valid_id_number(id_number):
count += 1
print(count)
n = int(input())
count = 0
for i in range(n):
id_number = input()
if len(id_number) == 18:
# 在这里添加身份证号码验证代码
count += 1
print(count)
模板,因为不知道你要怎么验证