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脚本实现网卡流量监控
Feb 14 Python
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
在Python中移动目录结构的方法
Jan 31 Python
老生常谈进程线程协程那些事儿
Jul 24 Python
Python利用turtle库绘制彩虹代码示例
Dec 20 Python
使用Python进行体育竞技分析(预测球队成绩)
May 16 Python
在linux下实现 python 监控usb设备信号
Jul 03 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
windows支持哪个版本的python
Jul 03 Python
Python grpc超时机制代码示例
Sep 14 Python
python中time、datetime模块的使用
Dec 14 Python
python中__slots__节约内存的具体做法
Jul 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 define()函数及defined()函数使用详解
2013/06/09 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
vue cli 全面解析
2018/02/28 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
学校安全工作制度
2014/01/19 职场文书
电子商务专业应届毕业生求职信
2014/06/21 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
2014年电教工作总结
2014/12/19 职场文书
护理实习生带教计划
2015/01/16 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
python playwright 自动等待和断言详解
2021/11/27 Python