Python实现 版本号对比功能的实例代码

作者:Andrea-Pirlo 时间:2022-07-22 05:53:59 

下面先给大家介绍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实现 版本号对比功能的实例代码,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://www.cnblogs.com/ailiailan/archive/2019/04/18/10728059.html

标签:Python,版本号
0
投稿

猜你喜欢

  • ASP万用分页程序

    2007-09-21 12:45:00
  • php 时间计算问题小结

    2023-11-03 14:37:06
  • Python的Pillow库进行图像文件处理(图文详解)

    2023-10-04 04:02:23
  • 使用Pandas将inf, nan转化成特定的值

    2023-04-15 23:36:33
  • DBA应当了解的MySQL客户端程序启动选项

    2009-01-04 13:00:00
  • ASP UTF-8编码生成静态网页的函数

    2011-03-07 11:24:00
  • SHA256算法 asp源码

    2009-08-28 13:01:00
  • 用好Frontpage中的各种回车

    2008-02-21 14:33:00
  • Access 2003开发者扩展工具集概述

    2009-03-19 18:32:00
  • ExpiresAbsolute 属性

    2008-05-05 12:49:00
  • Python教程之pytest命令行方式运行用例

    2022-08-01 22:08:06
  • python日志记录模块实例及改进

    2021-03-14 12:49:09
  • PHP PDOStatement::errorCode讲解

    2023-06-11 12:40:23
  • Python之日期与时间处理模块(date和datetime)

    2023-09-29 12:53:06
  • python区块链地址的简版实现

    2021-04-02 14:04:21
  • 用Asp+XmlHttp实现RssReader功能

    2008-07-09 12:20:00
  • 详解python里使用正则表达式的分组命名方式

    2023-10-16 22:02:17
  • Python引用类型和值类型的区别与使用解析

    2021-06-18 10:45:59
  • asp随机提取access数据库记录的几种方法

    2007-09-06 19:42:00
  • React TypeScript 应用中便捷使用Redux Toolkit方法详解

    2023-08-11 09:48:21
  • asp之家 网络编程 m.aspxhome.com