给定两个版本号,比较一下两个的大小
其实考虑的方面挺多的,以下程序不保证完全准确
#-*- coding:utf-8 -*-
import re
def compareVersion(v1, v2):
if not v1 or not v2:
return
if not isinstance(v1, str) or not isinstance(v2, str):
return '请输入字符串'
v1_list = v1.split('.')
v2_list = v2.split('.')
if len(v1_list) != 3 or len(v2_list) != 3:
return '请输入正确的版本号'
flag = False
for i in range(3):
if re.match('[0-9][a-z]', v1_list[i]) and re.match('[0-9][a-z]', v2_list[i]):
flag = True
if not flag:
return '版本号格式错误'
for i in range(3):
if v1_list[i] == v2_list[i]:
continue
if v1_list[i] > v2_list[i]:
return v1
elif v1_list[i] < v2_list[i]:
return v2
print('两个版本号相等')
return v1
if __name__ == '__main__':
print '234'
v1 = 'a1.2.3a'
v2 = '1.2.3a'
print(compareVersion(v1, v2))
网友评论