instr = '''
E221142995,Tsum,F
A123456789,TRight,M
A123456789,Tsex,F
A1234X6789,TFormat,F
'''.strip()
id,nam,sex,msg = 'ID_NO','NAME','SEX','ERROR'
print(f'{id:15} {nam:10} {sex:10} {msg:<10} ')
for i in instr.splitlines():
id,nam,sex = i.strip().split(',')
msg = ''
if not('A'<=id[0]<='Z'):
msg = 'FORMAT ERROR'
if msg == '':
for j in id[1:]:
if not('0'<=j<='9'):
msg = 'FORMAT ERROR'
if msg == '':
if not(id[1]=='1' and sex == 'M' or id[1]=='2' and sex == 'F'):
msg = 'SEX CODE ERROR'
if msg =='':
d2 = 'ABCDEFGHJKLMNPQRSTUVXYWZIO'.index(id[0])+10
x1 = d2//10
x2 = d2%10
d = [int(i) for i in id[1:]]
d = [0] + d
y = x1 + 9 * x2
k = 8
for i in range(1,7+1):
y = y + k*d[i]
k-=1
y = y + d[8]+d[9]
if not(y%10==0):
msg = 'CHECK SUM ERROR'
print(f'{id:15} {nam:10} {sex:10} {msg:<10} ')
沒有留言:
張貼留言