dds = '''
B12X767544,ISAAC,M
B129767544,ISAAC,M
I129767544,ISAAC,F
A123456788,ISAAC,F
A123456788,ISAAC,M
A123456789,ISAAC,M
'''
for dd in dds.strip().splitlines():
id,name,sex = dd.split(',')
# print(id,name,sex)
msg = ''
for i in id[1:]:
if not('0' <= i <= '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 == '':
xx = 'ABCDEFGHJKLMNPQRSTUVXYWZIO'.find(id[0])+10
x1 = xx//10
x2 = xx%10
d1 = int(id[1])
d2 = int(id[2])
d3 = int(id[3])
d4 = int(id[4])
d5 = int(id[5])
d6 = int(id[6])
d7 = int(id[7])
d8 = int(id[8])
d9 = int(id[9])
y = x1+9*x2+8*d1+7*d2+6*d3+5*d4+4*d5+3*d6+2*d7+d8+d9
if y%10!=0:
msg = 'CHECK SUM ERROR'
print(id,name,sex,msg)
# 執行結果
# B12X767544 ISAAC M FORMAT ERROR
# B129767544 ISAAC M CHECK SUM ERROR
# I129767544 ISAAC F SEX CODE ERROR
# A123456788 ISAAC F SEX CODE ERROR
# A123456788 ISAAC M CHECK SUM ERROR
# A123456789 ISAAC M
沒有留言:
張貼留言