1. 程式人生 > >CCF-ISBN號碼(Python)--含詳細註釋

CCF-ISBN號碼(Python)--含詳細註釋

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

在這裡插入圖片描述

知識點總結:

  1. join() 方法用於將序列中的元素以指定的字元<連線>生成一個新的字串;
  2. split() 通過指定分隔符對"字串"進行<切片>;
  3. a[0:12],對字串進行切片;
  4. 不同數值型別不能進行計算,要進行型別強制轉換;
  5. 要注意考慮特殊情況,漏掉就是0分了;