比较版本号

给定两个版本号,比较一下两个的大小
其实考虑的方面挺多的,以下程序不保证完全准确

#-*- 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))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • 比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如...
    vbuer阅读 169评论 0 0
  • 在开发中,对于比较版本号还是必不可少的.比如我们需要判断当前系统的版本号. 来实现系统的新方法[[UIDevice...
    明月钓无痕阅读 546评论 0 1
  • 以iOS系统的版本号来举例说明 错误示范: 一、floatValue的问题 首先,NSString转float类型...
    秦枫桀阅读 817评论 4 3
  • 一句话代码搞定,复制即用,做的相对完善,不完善的地方希望大家砍我改正哈! 当然你可以利用字符串截取法来计算,不过那...
    Teun丶阅读 1,289评论 0 3