python檢查字符串是否是正確ISBN的方法
更新時(shí)間:2015年07月11日 11:52:47 作者:pythoner
這篇文章主要介紹了python檢查字符串是否是正確ISBN的方法,涉及Python針對(duì)字符串的相關(guān)操作技巧,需要的朋友可以參考下
本文實(shí)例講述了python檢查字符串是否是正確ISBN的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
def isISBN(isbn): """Checks if the passed string is a valid ISBN number.""" if len(isbn) != 10 or not isbn[:9].isdigit(): return False if not (isbn[9].isdigit() or isbn[9].lower() == "x"): return False tot = sum((10 - i) * int(c) for i, c in enumerate(isbn[:-1])) checksum = (11 - tot % 11) % 11 if isbn[9] == 'X' or isbn[9] == 'x': return checksum == 10 else: return checksum == int(isbn[9]) ok = """031234161X 0525949488 076360013X 0671027360 0803612079 0307263118 0684856093 0767916565 0071392319 1400032806 0765305240""" for code in ok.split(): assert isISBN(code) bad = """0312341613 052594948X 0763600138 0671027364 080361207X 0307263110 0684856092 0767916567 0071392318 1400032801 0765305241 031234161 076530Y241 068485609Y""" for code in bad.split(): assert not isISBN(code) print "Tests of isISBN()passed."
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- Python字符串中查找子串小技巧
- Python利用正則表達(dá)式匹配并截取指定子串及去重的方法
- Python最長公共子串算法實(shí)例
- python實(shí)現(xiàn)在字符串中查找子字符串的方法
- python判斷字符串是否包含子字符串的方法
- Python 字符串操作實(shí)現(xiàn)代碼(截取/替換/查找/分割)
- python實(shí)現(xiàn)查找兩個(gè)字符串中相同字符并輸出的方法
- Python中的字符串查找操作方法總結(jié)
- python 查找字符串是否存在實(shí)例詳解
- 在python中使用正則表達(dá)式查找可嵌套字符串組
- Python實(shí)現(xiàn)判斷一個(gè)字符串是否包含子串的方法總結(jié)
相關(guān)文章
Python3.6+Django2.0以上 xadmin站點(diǎn)的配置和使用教程圖解
django自帶的admin站點(diǎn)雖然功能強(qiáng)大,但是界面不是很好看。這篇文章主要介紹了Python3.6+Django2.0以上 xadmin站點(diǎn)的配置和使用 ,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06Sklearn多種算法實(shí)現(xiàn)人臉補(bǔ)全的項(xiàng)目實(shí)踐
本文主要介紹了Sklearn多種算法實(shí)現(xiàn)人臉補(bǔ)全的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03python 生成正態(tài)分布數(shù)據(jù),并繪圖和解析
這篇文章主要介紹了python 生成正態(tài)分布數(shù)據(jù),并繪圖和解析,幫助大家更好的利用python進(jìn)行數(shù)據(jù)分析,感興趣的朋友可以了解下2020-12-12