python检查字符串是否是正确ISBN的方法


Posted in Python onJuly 11, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
Mar 30 Python
python django 实现验证码的功能实例代码
May 18 Python
Python面向对象之类的定义与继承用法示例
Jan 14 Python
基于python的socket实现单机五子棋到双人对战
Mar 24 Python
手动安装python3.6的操作过程详解
Jan 13 Python
Python Tensor FLow简单使用方法实例详解
Jan 14 Python
opencv+python实现均值滤波
Feb 19 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
Numpy数组的广播机制的实现
Nov 03 Python
Python datetime模块的使用示例
Feb 02 Python
Python读取Excel的方法实例分析
Jul 11 #Python
Python实现分割文件及合并文件的方法
Jul 10 #Python
Python写入数据到MP3文件中的方法
Jul 10 #Python
Python将阿拉伯数字转换为罗马数字的方法
Jul 10 #Python
Python自动登录126邮箱的方法
Jul 10 #Python
Python获取邮件地址的方法
Jul 10 #Python
python实现中文分词FMM算法实例
Jul 10 #Python
You might like
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
PHP中常见的密码处理方式和建议总结
2018/10/14 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
通过实例解析PHP数据类型转换方法
2020/07/11 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
动态为事件添加js代码示例
2009/02/15 Javascript
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
2016/08/11 Javascript
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
python去除扩展名的实例讲解
2018/04/23 Python
Python tkinter模版代码实例
2020/02/05 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
保安拾金不昧表扬信
2014/01/15 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
支行行长岗位职责
2015/02/15 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
淮海战役观后感
2015/06/11 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书