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写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
Nov 05 Python
Python编写一个闹钟功能
Jul 11 Python
Django admin美化插件suit使用示例
Dec 12 Python
tornado 多进程模式解析
Jan 15 Python
pandas表连接 索引上的合并方法
Jun 08 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
python实现反转部分单向链表
Sep 27 Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
Pytorch 实现变量类型转换
May 17 Python
Python Pandas解析读写 CSV 文件
Apr 11 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脚本的10个技巧(2)
2006/10/09 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
Python json模块使用实例
2015/04/11 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
python实现一个简单的ping工具方法
2019/01/31 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
Python scrapy增量爬取实例及实现过程解析
2019/12/24 Python
python isinstance函数用法详解
2020/02/13 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
python爬取2021猫眼票房字体加密实例
2021/02/19 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
计算机科学系职业生涯规划书
2014/03/08 职场文书
教师党员公开承诺书
2014/03/25 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
导游词之四川武侯祠
2019/10/21 职场文书
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python