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中__new__与__init__方法的区别详解
May 04 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
python写入已存在的excel数据实例
May 03 Python
python爬取哈尔滨天气信息
Jul 14 Python
详解Python 装饰器执行顺序迷思
Aug 08 Python
Python 中的lambda函数介绍
Oct 10 Python
Python中的random.uniform()函数教程与实例解析
Mar 02 Python
为什么你还不懂得怎么使用Python协程
May 13 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
Pytorch 神经网络—自定义数据集上实现教程
Jan 07 Python
Django ORM filter() 的运用详解
May 14 Python
基于Python爬虫采集天气网实时信息
Jun 05 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
php产生随机数的两种方法实例代码 输出随机IP
2011/04/08 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
PHP利用DWZ.CN服务生成短网址
2019/08/11 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
js null,undefined,字符串小结
2010/08/21 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
jquery设置控件位置的方法
2013/08/21 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
tensorflow的计算图总结
2020/01/12 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
大学生毕业自我鉴定范文
2013/11/03 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
《中彩那天》教学反思
2014/02/22 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
用python自动生成日历
2021/04/24 Python
利用python进行数据加载
2021/06/20 Python
python利用while求100内的整数和方式
2021/11/07 Python
golang操作rocketmq的示例代码
2022/04/06 Golang
优化Mysql查询的示例
2022/04/26 MySQL