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爬取qq music中的音乐url及批量下载
Mar 23 Python
python实现员工管理系统
Jan 11 Python
通过Python 接口使用OpenCV的方法
Apr 02 Python
实例讲解Python3中abs()函数
Feb 19 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
python 内置函数汇总详解
Sep 16 Python
Python笔记之观察者模式
Nov 20 Python
tensorflow 查看梯度方式
Feb 04 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
Sep 04 Python
python 发送get请求接口详解
Nov 17 Python
python 爬取京东指定商品评论并进行情感分析
May 27 Python
深入浅析Django MTV模式
Sep 04 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
PHP及Zend Engine的线程安全模型分析
2011/11/10 PHP
PHP页面中文乱码分析
2013/10/29 PHP
yii操作session实例简介
2014/07/31 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
popdiv
2006/07/14 Javascript
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
精彩的大学生自我评价
2013/11/17 职场文书
老同学聚会感言
2014/02/23 职场文书
暑期教师培训方案
2014/06/07 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
工作失职检讨书500字
2014/10/17 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
酒店开业主持词
2015/07/02 职场文书
python 三边测量定位的实现代码
2021/04/22 Python
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android
Javascript webpack动态import
2022/04/19 Javascript