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抓取京东商城手机列表url实例代码
Dec 18 Python
跟老齐学Python之不要红头文件(1)
Sep 28 Python
python获取从命令行输入数字的方法
Apr 29 Python
Python实现telnet服务器的方法
Jul 10 Python
Python科学计算之Pandas详解
Jan 15 Python
深入探究Django中的Session与Cookie
Jul 30 Python
python实现读取excel文件中所有sheet操作示例
Aug 09 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
Scrapy模拟登录赶集网的实现代码
Jul 07 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
python 实现汉诺塔游戏
Nov 28 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
Aug 30 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 全局变量范围分析
2009/08/07 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
2011/01/12 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
2018/12/03 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
python中list列表的高级函数
2016/05/17 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
亿阳信通股份有限公司C#笔试题
2016/12/06 面试题
国贸专业个人求职信分享
2013/12/04 职场文书
网络维护中文求职信
2014/01/03 职场文书
个人工作主要事迹
2014/05/08 职场文书
保护地球的宣传语
2015/07/13 职场文书
员工安全责任协议书
2016/03/22 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
导游词之安徽九华山
2019/09/18 职场文书
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js