Python实现 版本号对比功能的实例代码


Posted in Python onApril 18, 2019

下面先给大家介绍python实现版本号对比功能,具体内容如下所示:

相同位置版本号大小比较:

def abc(str1, str2):
  if str1 == "" or str2 == "":
    print("输入包含空字符串,请重新输入")
    return ("输入包含空字符串,请重新输入")
  elif str1 == str2:
    print("2个版本号相同")
    return ("2个版本号相同")
  elif int(str1[0]) > int(str2[0]):
    print("版本1的版本号更大")
    return ("版本1的版本号更大")
  elif int(str1[0]) < int(str2[0]):
    print("版本2的版本号更大")
    return ("版本2的版本号更大")
  abc(str1[2:], str2[2:])
abc("5.3.2", "5.1.9")

ps:下面看下python 比较两个版本号大小

# -*- coding: utf-8 -*-
__author__ = 'ypp'
import re
def versionCompare(v1="1.1.1", v2="1.2"):
  v1_check = re.match("\d+(\.\d+){0,2}", v1)
  v2_check = re.match("\d+(\.\d+){0,2}", v2)
  if v1_check is None or v2_check is None or v1_check.group() != v1 or v2_check.group() != v2:
    return "版本号格式不对,正确的应该是x.x.x,只能有3段"
  v1_list = v1.split(".")
  v2_list = v2.split(".")
  v1_len = len(v1_list)
  v2_len = len(v2_list)
  if v1_len > v2_len:
    for i in range(v1_len - v2_len):
      v2_list.append("0")
  elif v2_len > v1_len:
    for i in range(v2_len - v1_len):
      v1_list.append("0")
  else:
    pass
  for i in range(len(v1_list)):
    if int(v1_list[i]) > int(v2_list[i]):
      return "v1大"
    if int(v1_list[i]) < int(v2_list[i]):
      return "v2大"
  return "相等"
# 测试用例
print(versionCompare(v1="", v2="")) 
print(versionCompare(v1="1.0.a", v2="d.0.1"))
print(versionCompare(v1="1.0.1", v2="1.0.1"))
print(versionCompare(v1="1.0.2", v2="1.0.1"))
print(versionCompare(v1="1.0.1", v2="1.0.2"))
print(versionCompare(v1="1.0.11", v2="1.0.2"))

设计思想:

1.使用正则表达式判断版本号格式是否正确
2.将字符串用”.”分隔成数组
3.比较数组长度,将长度短的数组用“0”补齐成相等长度数组
4.逐个遍历数组元素,比较大小

测试用例:

1.版本号为空
2.版本号含非数字
3.版本号长度不一致
4.版本号以点为分隔,逐位比较

总结

以上所述是小编给大家介绍的Python实现 版本号对比功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python33 urllib2使用方法细节讲解
Dec 03 Python
Python文件与文件夹常见基本操作总结
Sep 19 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
Python OpenCV实现测量图片物体宽度
May 27 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 Python
pymongo insert_many 批量插入的实例
Dec 05 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 Python
使用Django实现商城验证码模块的方法
Jun 01 Python
Python网络爬虫之爬取微博热搜
Apr 18 #Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
Apr 18 #Python
详解python 模拟豆瓣登录(豆瓣6.0)
Apr 18 #Python
Python面向对象总结及类与正则表达式详解
Apr 18 #Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 #Python
详解python数据结构和算法
Apr 18 #Python
python基础知识(一)变量与简单数据类型详解
Apr 17 #Python
You might like
thinkphp模板用法和内容输出实例
2014/11/28 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
python动态参数用法实例分析
2015/05/25 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
C/C++程序员常见面试题一
2012/12/08 面试题
建筑工程技术应届生求职信
2013/11/17 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
留学推荐信英文范文
2015/03/26 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS