python用idle编译没问题,但该题调试点8就不对呢?
查看原帖
python用idle编译没问题,但该题调试点8就不对呢?
451615
蜗壳楼主2021/6/8 20:57

我用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))





2021/6/8 20:57
加载中...