我用python写,也是8过不去。
下载输入后,给的是
7-358-86245-2
但程序算出来是下面这个
7-358-86245-7
报错说:read 2 excpect 7;
但是我程序跑出来是7呀?为啥呢?
#输入字符串
arr=input()
#将字符串中的“-”
st_arr=list(arr.replace('-',''))
sum=0
#通过循环遍历访问数组中的每一个元素,求和
for i in range(9):
sum+=int(st_arr[i])*(i+1)
#如果余数相等或是余数等于10且最后一位为“X”,输出“right”
if str(sum%11)==st_arr[9] or sum%11==10 and st_arr[9]=="X":
print("Right")
#如果不相等就输出正确的表达式
else:
st_arr.insert(1,'-')
st_arr.insert(5,'-')
st_arr.insert(11,'-')
if sum%11==10:
st_arr[-1]='X'
print(''.join(st_arr))
else:
st_arr[-1]=str((sum%11))
print(''.join(st_arr))