开始的代码乍一看毫无问题:但是仔细考虑后发现漏掉了给出的结果结尾为X但实际不是10的情况。
a=input()
stra=a.replace('-','')
alist=[]
for each in stra:
alist+=[each]
Sum=0
for i in range(9):
Sum+=int(alist[i])*(i+1)
if Sum%11==10 and alist[9]=='X' or Sum%11==int(alist[9]):
print('Right')
else:
if Sum%11==10:
a=a[:12]+'X'
else:
a=a[:12]+str(Sum%11)
print(a)
正确代码
a=input()
stra=a.replace('-','')
alist=[]
for each in stra:
alist+=[each]
Sum=0
for i in range(9):
Sum+=int(alist[i])*(i+1)
if Sum%11==10:
if a[12]=='X':
print('Right')
else:
print(a[:12]+'X')
else:
if a[12]=='X'or Sum%11 != int(a[12]):
print(a[:12]+str(Sum%11))
elif Sum%11==int(a[12]):
print('Right')