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实现获取某天是某个月中的第几周
Feb 11 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
python获取指定网页上所有超链接的方法
Apr 04 Python
python使用7z解压apk包的方法
Apr 18 Python
Python实现 多进程导入CSV数据到 MySQL
Feb 26 Python
深入理解Python 关于supper 的 用法和原理
Feb 28 Python
Django中url的反向查询的方法
Mar 14 Python
Python多进程multiprocessing.Pool类详解
Apr 27 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
Python实现直方图均衡基本原理解析
Aug 08 Python
Python下载的11种姿势(小结)
Nov 18 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
php使用正则验证中文
2016/04/06 PHP
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
基于jquery的动态创建表格的插件
2011/04/05 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
Node.js编写CLI的实例详解
2017/05/17 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
Python中类的初始化特殊方法
2017/12/01 Python
Java分治归并排序算法实例详解
2017/12/12 Python
python读取中文txt文本的方法
2018/04/12 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
Python正则表达式指南 推荐
2018/10/09 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
写给女朋友的道歉信
2014/01/08 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
小学生安全教育心得体会
2016/01/15 职场文书
导游词之太原天龙山
2020/01/02 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python