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 正则表达式(转义问题)
Dec 15 Python
python实现查询苹果手机维修进度
Mar 16 Python
简单介绍Python中的struct模块
Apr 28 Python
Python与Java间Socket通信实例代码
Mar 06 Python
Python 通过URL打开图片实例详解
Jun 01 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
django的settings中设置中文支持的实现
Apr 28 Python
python定位xpath 节点位置的方法
Aug 27 Python
浅析python redis的连接及相关操作
Nov 07 Python
python文字转语音实现过程解析
Nov 12 Python
Python实现粒子群算法的示例
Feb 14 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
php 页面执行时间计算代码
2008/12/04 PHP
PHP 采集心得技巧
2009/05/15 PHP
PHP中的float类型使用说明
2010/07/27 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
PHP常量及变量区别原理详解
2020/08/14 PHP
javascript tips提示框组件实现代码
2010/11/19 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
使用C++为node.js写扩展模块
2015/04/22 Javascript
javascript每日必学之封装
2016/02/23 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
Python中多线程的创建及基本调用方法
2016/07/08 Python
python基础教程之匿名函数lambda
2017/01/17 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
python打包多类型文件的操作方法
2020/09/21 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
仓库保管员岗位职责
2013/12/20 职场文书
全陪导游欢迎词
2014/01/17 职场文书
财务人员的自我评价范文
2014/03/03 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
人事行政经理岗位职责
2014/06/18 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
导游词之永济鹳雀楼
2020/01/16 职场文书
nginx实现动静分离的方法示例
2021/11/07 Servers