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学习教程之Numpy和Pandas的使用
Sep 11 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
python中virtualenvwrapper安装与使用
May 20 Python
Python unittest模块用法实例分析
May 25 Python
python 数字类型和字符串类型的相互转换实例
Jul 17 Python
Python3.5装饰器典型案例分析
Apr 30 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
python3-flask-3将信息写入日志的实操方法
Nov 12 Python
python获取array中指定元素的示例
Nov 26 Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 Python
利用 Python ElementTree 生成 xml的实例
Mar 06 Python
Python super()方法原理详解
Mar 31 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+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
Javascript 写的简单进度条控件
2008/01/22 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
解密Python中的描述符(descriptor)
2015/06/03 Python
详解python读取和输出到txt
2019/03/29 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
《九色鹿》教学反思
2014/02/27 职场文书
节约用电标语
2014/06/17 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
运输公司工作总结
2015/08/11 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers