nickxj


私信TA

用户名:dotcpp0615219

访问量:837

签 名:

等  级
排  名 6272
经  验 1382
参赛次数 0
文章发表 23
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:


参考代码:

ISBN=input()
x=ISBN.replace('-','') #把ISBN号的-去除
X=[] #存储ISBN号尾不为X的ISBN数字
a="" #存储ISBN号尾为X的ISBN数字字符
sum=0 #求和
if x[9]!='X': #尾号不为X,一共10个数字
   X=list(map(int,x)) #分割十个数字
   for i in range(9):
       sum = sum + X[i] * (i + 1)
   mod = sum % 11 #取余
   if mod == X[9]:  #判断余数与最后一个数字是否一致
       print("Right")
   else:
       print("%d"%X[0]+"-",end="")
       for i in range(1,4):
           print(X[i],end="")
       print('-',end="")
       for i in range(4,9):
           print(X[i],end="")
       if mod != 10:  #判断余数是否为10,10则输出X,反之输出0到9的数字
           print("-"+"%d"%mod)
       else:
           print("-X")
else:
   for i in range(9): #记录ISBN号的9个数字(最后一个字符为X)
       a+=x[i]
   X=list(map(int,a)) #分割九个数字
   for i in range(9):
       sum = sum + X[i] * (i + 1)
   mod = sum % 11
   if mod == 10 and x[9] == 'X':#判断余数是否为10,同时也要满足最后一个字符为X才是Right
       print("Right")
   else:
       print("%d"%X[0]+"-",end="")
       for i in range(1,4):
           print(X[i],end="")
       print('-',end="")
       for i in range(4,9):
           print(X[i],end="")
       if mod != 10:  #判断余数是否为10,10则输出X,反之输出0到9的数字
           print("-"+"%d"%mod)
       else:
           print("-X")

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区