python检查字符串是否是正确ISBN的方法
本文实例讲述了python检查字符串是否是正确ISBN的方法。分享给大家供大家参考。具体实现方法如下:
defisISBN(isbn): """ChecksifthepassedstringisavalidISBNnumber.""" iflen(isbn)!=10ornotisbn[:9].isdigit(): returnFalse ifnot(isbn[9].isdigit()orisbn[9].lower()=="x"): returnFalse tot=sum((10-i)*int(c)fori,cinenumerate(isbn[:-1])) checksum=(11-tot%11)%11 ifisbn[9]=='X'orisbn[9]=='x': returnchecksum==10 else: returnchecksum==int(isbn[9]) ok="""031234161X0525949488076360013X06710273600803612079 030726311806848560930767916565007139231914000328060765305240""" forcodeinok.split(): assertisISBN(code) bad="""0312341613052594948X07636001380671027364080361207X0307263110 06848560920767916567007139231814000328010765305241031234161 076530Y241068485609Y""" forcodeinbad.split(): assertnotisISBN(code) print"TestsofisISBN()passed."
希望本文所述对大家的Python程序设计有所帮助。