比较两个版本号ver1和ver2的大小
1、首先将两个版本号处理成纯数字的版本号,如5.2.1.3.20
2、将版本号按“.”切割为列表,从索引0开始依次比较列表的大小
3、对比两个列表的len,len较短的作为循环次数,防止列表索引越界
4、如果循环结束后仍没有对比出结果,则对比列表len,len值大的为高版本
def compared_version(ver1, ver2):
"""
传入不带英文的版本号,特殊情况:"10.12.2.6.5">"10.12.2.6"
:param ver1: 版本号1
:param ver2: 版本号2
:return: ver1< = >ver2返回-1/0/1
"""
list1 = str(ver1).split(".")
list2 = str(ver2).split(".")
print(list1)
print(list2)
# 循环次数为短的列表的len
for i in range(len(list1)) if len(list1) < len(list2) else range(len(list2)):
if int(list1[i]) == int(list2[i]):
pass
elif int(list1[i]) < int(list2[i]):
return -1
else:
return 1
# 循环结束,哪个列表长哪个版本号高
if len(list1) == len(list2):
return 0
elif len(list1) < len(list2):
return -1
else:
return 1
result = compared_version("10.12.2.6.5", "10.12.2.6")
print(result)