有没有大神可以帮忙看看这样写的程序少考虑了哪种情况,为什么在Python123中正确率只有0.66
ID = input()
modulus = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
check = [1,0,‘X’,9,8,7,6,5,4,3,2]
sum = 0
for i in range(17):
sum += int(ID[i])* int(modulus[i])
k = sum % 11
if str(ID[-1])==‘X’:
if ID[-1]==check[2]:
print(‘身份证号码校验为合法号码!’)
else: print(‘身份证校验位错误!’)
else:
if int(ID[-1]) == check[k]:
print(‘身份证号码校验为合法号码!’)
else: print(‘身份证校验位错误!’)



