python检查字符串是否是正确ISBN的方法

 更新时间:2015年07月11日 11:52:47   作者:pythoner  
这篇文章主要介绍了python检查字符串是否是正确ISBN的方法,涉及Python针对字符串的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • 浅析PEP570新语法: 只接受位置参数

    浅析PEP570新语法: 只接受位置参数

    本文通过一个例子给大家介绍了PEP570新语法: 只接受位置参数的一些知识,感兴趣的朋友跟随小编一起看看吧
    2019-10-10
  • Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解

    Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解

    django自带的admin站点虽然功能强大,但是界面不是很好看。这篇文章主要介绍了Python3.6+Django2.0以上 xadmin站点的配置和使用 ,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Pandas缺失值删除df.dropna()的使用

    Pandas缺失值删除df.dropna()的使用

    本文主要介绍了Pandas缺失值删除df.dropna()的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python 上下文管理器及自定义原理解析

    python 上下文管理器及自定义原理解析

    这篇文章主要介绍了python 上下文管理器原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 详解Python中的三元运算

    详解Python中的三元运算

    本文详细介绍了Python中的三元运算符的使用方法和技巧,三元运算也称三目运算,在Python中,三元运算也称为条件表达式,感兴趣的小伙伴可以参考阅读
    2023-04-04
  • Sklearn多种算法实现人脸补全的项目实践

    Sklearn多种算法实现人脸补全的项目实践

    本文主要介绍了Sklearn多种算法实现人脸补全的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python中添加搜索路径的方法实例

    Python中添加搜索路径的方法实例

    我们平时在用python写一些脚本作为工具时,经常需要在其他脚本中加载该工具,这篇文章主要给大家介绍了关于Python中添加搜索路径的相关资料,需要的朋友可以参考下
    2022-05-05
  • python 生成正态分布数据,并绘图和解析

    python 生成正态分布数据,并绘图和解析

    这篇文章主要介绍了python 生成正态分布数据,并绘图和解析,帮助大家更好的利用python进行数据分析,感兴趣的朋友可以了解下
    2020-12-12
  • 在SAE上部署Python的Django框架的一些问题汇总

    在SAE上部署Python的Django框架的一些问题汇总

    这篇文章主要介绍了在SAE上部署Python的Django框架的一些问题汇总,SAE是新浪的一个在线APP部署平台,并且对Python应用提供相关支持,需要的朋友可以参考下
    2015-05-05
  • Python使用Pandas库常见操作详解

    Python使用Pandas库常见操作详解

    这篇文章主要介绍了Python使用Pandas库常见操作,结合实例形式详细分析了Python Pandas模块的功能、原理、数据对象创建、查看、选择等相关操作技巧与注意事项,需要的朋友可以参考下
    2020-01-01

最新评论