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中文问题解决方法(总结了多位前人经验,初学者必看)
Mar 13 Python
python基础教程之元组操作使用详解
Mar 25 Python
用实例分析Python中method的参数传递过程
Apr 02 Python
Python解惑之True和False详解
Apr 24 Python
Python使用defaultdict读取文件各列的方法
May 11 Python
Python实现多并发访问网站功能示例
Jun 19 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
使用python装饰器计算函数运行时间的实例
Apr 21 Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 Python
浅谈Python小波分析库Pywavelets的一点使用心得
Jul 09 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
Feb 19 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
第十三节 对象串行化 [13]
2006/10/09 PHP
基于mysql的bbs设计(三)
2006/10/09 PHP
谈谈新手如何学习PHP
2006/12/14 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
js实现数组转换成json
2015/06/26 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
JS变量及其作用域
2017/03/29 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[02:39]DOTA2国际邀请赛助威团西雅图第一天
2013/08/08 DOTA
python学习必备知识汇总
2017/09/08 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
Python循环结构的应用场景详解
2019/07/11 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
荟萃全球保健品:维他购
2018/05/09 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
总经理职责范文
2013/11/08 职场文书
园林设计师自荐信
2013/11/18 职场文书
电子商务专业个人的自我评价
2013/11/19 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
JavaScript 实现页面滚动动画
2021/04/24 Javascript
如何在C++中调用Python
2021/05/21 Python