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 相关文章推荐
更改Python命令行交互提示符的方法
Jan 14 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
Jul 22 Python
Scrapy爬虫实例讲解_校花网
Oct 23 Python
python自动裁剪图像代码分享
Nov 25 Python
利用Python代码实现数据可视化的5种方法详解
Mar 25 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
Python进程的通信Queue、Pipe实例分析
Mar 30 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 Python
Django中的DateTimeField和DateField实现
Feb 24 Python
python process模块的使用简介
May 14 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
JavaScript之数组(Array)详解
2015/04/01 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
jquery简易手风琴插件的封装
2020/10/13 jQuery
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
Python排序算法实例代码
2017/08/10 Python
python tensorflow基于cnn实现手写数字识别
2018/01/01 Python
transform python环境快速配置方法
2018/09/27 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
Python如何输出百分比
2020/07/31 Python
Python txt文件如何转换成字典
2020/11/03 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
女性时尚在线:IVRose
2019/02/23 全球购物
求职毕业生自荐书
2014/02/08 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
中学校庆方案
2014/03/17 职场文书
经营理念标语
2014/06/21 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL