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之使用Python查询更新数据库
Nov 25 Python
Python中实现参数类型检查的简单方法
Apr 21 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
python保存字符串到文件的方法
Jul 01 Python
Python实现的排列组合计算操作示例
Oct 13 Python
python实现装饰器、描述符
Feb 28 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
Apr 26 Python
详解如何设置Python环境变量?
May 13 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
Mar 10 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
python re模块和正则表达式
Mar 24 Python
利用Python判断你的密码难度等级
Jun 02 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程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
python学习笔记:字典的使用示例详解
2014/06/13 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
Python实现DDos攻击实例详解
2019/02/02 Python
详解python数据结构和算法
2019/04/18 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
数控技术专业推荐信
2013/11/01 职场文书
爱与责任演讲稿
2014/05/20 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
小学生运动会报道稿
2014/09/12 职场文书
2014年后备干部工作总结
2014/12/08 职场文书
信访维稳承诺书
2015/05/04 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
pytorch中的model=model.to(device)使用说明
2021/05/24 Python
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS