当前位置:脚本大全 > > 正文

python简单代码实例(Python实现 版本号对比功能的实例代码)

时间:2021-10-16 00:47:34类别:脚本大全

python简单代码实例

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

下面先给大家介绍python实现版本号对比功能,具体内容如下所示:

相同位置版本号大小比较:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 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 比较两个版本号大小

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • # -*- 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

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐