|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import operator
def v_split(v1,v2):
"""比较两个版本号,结果返回最新版本号"""
sp_1 = [int(x) for x in v1.split('.')]
sp_2 = [int(x) for x in v2.split('.')]
len_p = len(sp_1) - len(sp_2)
if len_p > 0:
sp_2.extend([0] * len_p)
elif len_p < 0:
sp_1.extend([0] * (-len_p))
for i,p in enumerate(sp_1):
ret = operator.eq(p,sp_2[i])#版本号1与版本号2等值
reb = operator.gt(p,sp_2[i])#版本号1比版本号2大
red = operator.lt(p,sp_2[i])#版本号2比版本号1大
if ret:
print('v1 = v2')
break
elif reb:
print('v1')
break
else:
print('v2')
break
v1 = input("请输入第一个版本号: ")
v2 = input("请输入第二个版本号: ")
v_split(v1,v2)
测试结果:
请输入第一个版本号: 1.1.1
请输入第二个版本号: 1.2
v1 = v2
乌鱼子,为什么会出现这种情况呢,大佬们,帮帮孩子吧,谢谢啦
你都用这个模块了
直接比较就好了
- import operator
- def v_split(v1, v2):
- # """比较两个版本号,结果返回最新版本号"""
- # sp_1 = [int(x) for x in v1.split('.')]
- # sp_2 = [int(x) for x in v2.split('.')]
- # len_p = len(sp_1) - len(sp_2)
- # if len_p > 0:
- # sp_2.extend([0] * len_p)
- # elif len_p < 0:
- # sp_1.extend([0] * (-len_p))
- # if operator.lt(sp_1, sp_2):
- # print("v2:", sp_2)
- # elif operator.gt(sp_1, sp_2):
- # print('v1:', sp_1)
- # else:
- # print('v1 = v2')
- # -------------------------------------------
- if operator.lt(v1, v2):
- print("v2:", v2)
- elif operator. gt(v1, v2):
- print("v1:", v1)
- else:
- print('v1 = v2')
- v1 = input("请输入第一个版本号: ")
- v2 = input("请输入第二个版本号: ")
- v_split(float(v1), float(v2))
复制代码
|
|