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 相关文章推荐
python3使用urllib模块制作网络爬虫
Apr 08 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
Apr 24 Python
Python实现的多进程和多线程功能示例
May 29 Python
python 遍历列表提取下标和值的实例
Dec 25 Python
Python同步遍历多个列表的示例
Feb 19 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
May 15 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
接口自动化多层嵌套json数据处理代码实例
Nov 20 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 Python
python基础之错误和异常处理
Oct 24 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实现的验证码小程序
2016/12/13 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
2009/02/17 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
Javascript实现base64的加密解密方法示例
2017/06/27 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
总结Python中逻辑运算符的使用
2015/05/13 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
Python生成器generator用法示例
2018/08/10 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
css3之UI元素状态伪类选择器实例演示
2017/08/11 HTML / CSS
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
网上卖盒饭创业计划书
2014/01/26 职场文书
升学宴主持词
2014/04/02 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
教师工作自我鉴定范文
2014/09/14 职场文书
使用JS实现简易计算器
2021/06/14 Javascript