Python實(shí)現(xiàn) 版本號(hào)對(duì)比功能的實(shí)例代碼
下面先給大家介紹python實(shí)現(xiàn)版本號(hào)對(duì)比功能,具體內(nèi)容如下所示:
相同位置版本號(hào)大小比較:
def abc(str1, str2): if str1 == "" or str2 == "": print("輸入包含空字符串,請(qǐng)重新輸入") return ("輸入包含空字符串,請(qǐng)重新輸入") elif str1 == str2: print("2個(gè)版本號(hào)相同") return ("2個(gè)版本號(hào)相同") elif int(str1[0]) > int(str2[0]): print("版本1的版本號(hào)更大") return ("版本1的版本號(hào)更大") elif int(str1[0]) < int(str2[0]): print("版本2的版本號(hào)更大") return ("版本2的版本號(hào)更大") abc(str1[2:], str2[2:]) abc("5.3.2", "5.1.9")
ps:下面看下python 比較兩個(gè)版本號(hào)大小
# -*- coding: utf-8 -*- __author__ = 'ypp' import re def versionCompare(v1="1.1.1", v2="1.2"): v1_check = re.match("\d+(\.\d+){0,2}", v1) v2_check = re.match("\d+(\.\d+){0,2}", v2) if v1_check is None or v2_check is None or v1_check.group() != v1 or v2_check.group() != v2: return "版本號(hào)格式不對(duì),正確的應(yīng)該是x.x.x,只能有3段" v1_list = v1.split(".") v2_list = v2.split(".") v1_len = len(v1_list) v2_len = len(v2_list) if v1_len > v2_len: for i in range(v1_len - v2_len): v2_list.append("0") elif v2_len > v1_len: for i in range(v2_len - v1_len): v1_list.append("0") else: pass for i in range(len(v1_list)): if int(v1_list[i]) > int(v2_list[i]): return "v1大" if int(v1_list[i]) < int(v2_list[i]): return "v2大" return "相等" # 測(cè)試用例 print(versionCompare(v1="", v2="")) print(versionCompare(v1="1.0.a", v2="d.0.1")) print(versionCompare(v1="1.0.1", v2="1.0.1")) print(versionCompare(v1="1.0.2", v2="1.0.1")) print(versionCompare(v1="1.0.1", v2="1.0.2")) print(versionCompare(v1="1.0.11", v2="1.0.2"))
設(shè)計(jì)思想:
1.使用正則表達(dá)式判斷版本號(hào)格式是否正確
2.將字符串用”.”分隔成數(shù)組
3.比較數(shù)組長(zhǎng)度,將長(zhǎng)度短的數(shù)組用“0”補(bǔ)齊成相等長(zhǎng)度數(shù)組
4.逐個(gè)遍歷數(shù)組元素,比較大小
測(cè)試用例:
1.版本號(hào)為空
2.版本號(hào)含非數(shù)字
3.版本號(hào)長(zhǎng)度不一致
4.版本號(hào)以點(diǎn)為分隔,逐位比較
總結(jié)
以上所述是小編給大家介紹的Python實(shí)現(xiàn) 版本號(hào)對(duì)比功能的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
transforms.Compose()函數(shù)的使用及說(shuō)明
這篇文章主要介紹了transforms.Compose()函數(shù)的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Python Sympy計(jì)算梯度、散度和旋度的實(shí)例
今天小編就為大家分享一篇Python Sympy計(jì)算梯度、散度和旋度的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12pycharm新建Vue項(xiàng)目的方法步驟(圖文)
這篇文章主要介紹了pycharm新建Vue項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03python paramiko模塊學(xué)習(xí)分享
這篇文章主要為大家分享了python paramiko模塊的學(xué)習(xí)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08