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中的控制流语句的知识点
Apr 14 Python
Python中函数的参数传递与可变长参数介绍
Jun 30 Python
Python人脸识别初探
Dec 21 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
面向对象学习之pygame坦克大战
Sep 11 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
Nov 21 Python
Python3+Selenium+Chrome实现自动填写WPS表单
Feb 12 Python
Django models文件模型变更错误解决
May 11 Python
python的链表基础知识点
Sep 13 Python
Python测试框架:pytest学习笔记
Oct 20 Python
教你怎么用Python处理excel实现自动化办公
Apr 30 Python
用python开发一款操作MySQL的小工具
May 12 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
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
Python实现获取某天是某个月中的第几周
2015/02/11 Python
解读Python中degrees()方法的使用
2015/05/18 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
酒店前台接待岗位职责
2013/12/03 职场文书
护理学专业推荐信
2013/12/03 职场文书
二手房买卖协议书
2014/04/10 职场文书
导游词之唐山景点
2019/12/18 职场文书
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js
Vue Mint UI mt-swipe的使用方式
2022/06/05 Vue.js