CCF-ISBN号码(Python)–含详细注释
Python代码如下:
# join() 方法用于将序列中的元素以指定的字符<连接>生成一个新的字符串
# split() 通过指定分隔符对"字符串"进行<切片>
a = input()
b = a.split('-')
c = ''.join(b)
d = 0
count = 0
while count < 9:
d += int(c[count]) * (count + 1)
count += 1
e = d %11 # 识别码
if e == 10: # 考虑余数为10,识别码为X的情况
if c[9] == 'X':
print('Right')
else:
print(a[0:12] + 'X') # 对输入的字符串进行切片,取前12位
else:
if c[9] == str(e): # e为int型,要转化为str型
print('Right')
else :
print(a[0:12] + str(e))
知识点总结:
- join() 方法用于将序列中的元素以指定的字符<连接>生成一个新的字符串;
- split() 通过指定分隔符对"字符串"进行<切片>;
- a[0:12],对字符串进行切片;
- 不同数值类型不能进行计算,要进行类型强制转换;
- 要注意考虑特殊情况,漏掉就是0分了;