【原创】python 比较两个版本号大小

本文介绍了一个使用Python编写的版本号比较函数,通过正则表达式验证版本号格式,并将其转换为数组进行逐位比较,实现了对不同格式版本号的大小比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【原创】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
34
35
36
# -*- 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.版本号以点为分隔,逐位比较

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值