python檢查字串是否是正確ISBN的方法

來源:互聯網
上載者:User
本文執行個體講述了python檢查字串是否是正確ISBN的方法。分享給大家供大家參考。具體實現方法如下:

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." 

希望本文所述對大家的Python程式設計有所協助。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.