@HRBP 版本比较函数

def versionCompare(v1,v2):
    def str_to_int(para:str) -> str:
        # 转换函数,用于将纯字符型数字在不借由内置函数、第三方库的情况下处理为纯数字类型。
        
        number_convert_extract = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
        number_value = 0
        
        for temp_number in para:
            number_value = number_value * 10 + number_convert_extract[temp_number] - number_convert_extract['0']

        return number_value
    
    def numob(parameter:str) -> str:
        # 任意包含中文、英文、数字、标点符号的参数预处理函数,结果形成可用的字符串型数字
        
        usable_str = ''
        
        try:
            for temp_str in parameter:
                if temp_str >= '0' and temp_str <= '9':
                    usable_str += temp_str
        except TypeError:
            return parameter

        return str_to_int(usable_str)

    def init(parameterNo1:str,parameterNo2:str) -> str:
        # 对象A、B存储比较数值
        
        exampleA = numob(parameterNo1)
        exampleB = numob(parameterNo2)

        print(exampleA if exampleA > exampleB else exampleB)
    
    init(v1,v2)

versionCompare('上期版本.1.23', 'Version.4.7.1')
versionCompare('S^aa5.0A1','OOPOOAVVV1.1006')

 

posted @ 2017-03-10 00:39  laomi26  阅读(152)  评论(0)    收藏  举报