第3章-2 查验身份证
第一用函数,python中需要注意不能有重名的变量,实参和形参的传递我也不知道该怎么更好的用变量来表达
jlist = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
flist = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
def judge(_mlist):
tot = 0
rnum = _mlist[-1]
_mlist = _mlist[:17]
for _i in range(0, 17):
if '9' >= _mlist[_i] >= '0':
tot += int(_mlist[_i]) * flist[_i]
else:
return 0
tot = tot % 11
if rnum == jlist[tot]:
return 1
else:
return 0
num = int(input())
cnt = 0
for i in range(num):
mlist = input()
if judge(mlist) == 0:
print(mlist)
else:
cnt += 1
if cnt == num:
print("All passed")