Python_实现任意版本号比较

本文介绍了一种用于比较软件版本号的算法实现,并提供了一个Python函数来确定两个版本号之间的大小关系,通过填充缺少的部分为0来进行逐位比较。

遇到1.3.2.1与1.3这种不规则的版本号比较问题,分享一下。

def compare_version( aa, bb,sp):
    aa = str(aa)
    bb = str(bb)
    aa = aa.split(sp)
    bb = bb.split(sp)
    if len(aa) > len(bb):
        for ran in range(len(aa) - len(bb)):
            bb.append("0")
    elif len(aa) == len(bb):
        pass
    else:
        for ran in range(len(bb) - len(aa)):
            aa.append("0")
    if aa == bb:
        return 1
    for k in range(len(aa)):
        if aa[k] > bb[k]:
            return 1
        elif aa[k] == bb[k]:
            continue
        else:
            return 2
def pick_up_latest_version(version1, version2,Separator="."):
    flag = compare_version(version1, version2,Separator)#返回最大版本号的标识
    if flag == 1:
        return version1#返回最大版本号
    elif flag == 2:
        return version2
if __name__ == '__main__':
    test1="5.3.2.1"
    test2="5.5.1"
    result=pick_up_latest_version(test1,test2)#调用pick_up_latest_version
    print(result)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值