Python判斷軟體版本號的大小

2021-09-12 16:43:45 字數 1357 閱讀 9634

思路:

1、先將不同長度的版本號通過補0變成相同的長度,方便比較(否則無法區別3.9.1和3.9)

2、對每個.分割的部分轉為整數進行比較大小,任意部分有大小區別則不再比較

3、如果比較到最後一部分都相等,那說明是同個版本,如(3.9和3.9.0)

4、為了返回版本原值,所以另外加了個變數儲存補0後的版本

# coding:utf-8

defcompare

(a:str

, b:

str)

:'''比較兩個版本的大小,需要按.分割後比較各個部分的大小'''

lena =

len(a.split(

'.')

)# 獲取版本字串的組成部分

lenb =

len(b.split(

'.')

) a2 = a +

'.0'

*(lenb-lena)

# b比a長的時候補全a

b2 = b +

'.0'

*(lena-lenb)

print

(a2, b2)

for i in

range

(max

(lena, lenb)):

# 對每個部分進行比較,需要轉化為整數進行比較

ifint

(a2.split(

'.')

[i])

>

int(b2.split(

'.')

[i])

:return a

elif

int(a2.split(

'.')

[i])

<

int(b2.split(

'.')

[i])

:return b

else

:# 比較到最後都相等,則返回第乙個版本

if i ==

max(lena, lenb)-1

:return a

versions =

['1.01'

,'2.3'

,'2.12'

,'2.1.0'

,'0.0.01.3'

,'2.154'

]last =

'0.0'

# 給個初始值進行比較

for version in versions:

last = compare(last, version)

# 每次將較大的版本取出,留給下次比較

print

(last)

ps:lenb < lena時, 『.0』乘以負數,結果是空字串

軟體版本號規範

1.軟體版本階段說明 obase 版 此版本表示該軟體僅僅是乙個假頁面鏈結,通常包括所有的功能和頁面布局,但是頁面中的功能都沒有做完整的實現,只是做為整體 的乙個基礎架構。o alpha 版 此版本表示該軟體在此階段主要是以實現軟體功能為主,通常只在軟體開發者內部交流,一般而言,該版本軟體的bug較...

軟體版本號規範

1.軟體版本階段說明 obase 版 此版本表示該軟體僅僅是乙個假頁面鏈結,通常包括所有的功能和頁面布局,但是頁面中的功能都沒有做完整的實現,只是做為整體 的乙個基礎架構。o alpha 版 此版本表示該軟體在此階段主要是以實現軟體功能為主,通常只在軟體開發者內部交流,一般而言,該版本軟體的bug較...

軟體版本號的規範

主版本號 子版本號 修正版本號 編譯版本號 major version number.minor version number revision number build number 示例 1.2.1,2.0,5.0.0 build 13124 管理策略 專案初版本時,版本號可以為 0.1 或 0...