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程序员鲜为人知但你应该知道的17个问题
Jun 04 Python
使用python开发vim插件及心得分享
Nov 04 Python
详解Python编程中包的概念与管理
Oct 16 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
详解Python中的四种队列
May 21 Python
python+openCV调用摄像头拍摄和处理图片的实现
Aug 06 Python
pytorch使用tensorboardX进行loss可视化实例
Feb 24 Python
python使用turtle库绘制奥运五环
Feb 24 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 Python
Python如何读写二进制数组数据
Aug 01 Python
Django分页器的用法你都了解吗
May 26 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
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
php数组键值用法实例分析
2015/02/27 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
VBScript版代码高亮
2006/06/26 Javascript
Javascript Object.extend
2010/05/18 Javascript
jquery滚动条插件jScrollPane的使用介绍
2013/11/08 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
javascript继承机制实例详解
2014/11/20 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
小程序自定义日历效果
2018/12/29 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
Python中对列表排序实例
2015/01/04 Python
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
python实现马丁策略的实例详解
2021/01/15 Python
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
室内设计专业个人的自我评价
2013/10/19 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
埃及王子观后感
2015/06/16 职场文书
幼儿园教师教学反思
2016/03/02 职场文书