python数字从大到小排列_Python练习题 005:三个数字由大到小排序输出
【Python練習(xí)題 005】輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。
-----------------------------------------------------------------------
這題想想應(yīng)該比較容易:無(wú)非是先獲取3個(gè)數(shù)字,然后比大小,按順序輸出即可。不過(guò)在寫(xiě)代碼的過(guò)程中遇到了個(gè)難題:因?yàn)閾?dān)心輸入時(shí)輸入非指定的分隔符,需要指定多個(gè)分隔符(英文逗號(hào)、中文逗號(hào)、空格),但 str.split() 只接受1個(gè)分隔符。
上網(wǎng)搜索了下,發(fā)現(xiàn)可以用正則表達(dá)式解決這個(gè)問(wèn)題,于是就有了 import re 這一行了。代碼如下:
import re
x, y, z = re.split(',| |,| ', input('請(qǐng)輸入3個(gè)數(shù)字,用逗號(hào)或空格隔開(kāi):'))
x, y, z = int(x), int(y), int(z)
maxNo = max(x, y, z)
minNo = min(x, y, z)
print(maxNo, x+y+z-maxNo-minNo, minNo)
早就知道正則表達(dá)式很強(qiáng)大,但因?yàn)樘y了,一直沒(méi)敢碰啊…… 日后一定得好好研究下這部分內(nèi)容!
【2016-10-14 更新】------------------------------------------------------------
坐地鐵,手機(jī)里讀了篇文章,看到了 str.sort() 這個(gè)方法,覺(jué)得可以用來(lái)解這題。思路是:用 re.split() 得到 3 個(gè)字符型數(shù)字的列表,把字符轉(zhuǎn)換為數(shù)字,排下序,然后 print() 不就都解決了嗎?代碼如下:
import re
lst = re.split(',| |,| ', input('請(qǐng)輸入3個(gè)數(shù)字,用逗號(hào)或空格隔開(kāi):'))
for i in range(len(lst)):
lst[i] = int(lst[i])
lst.sort()
print(lst)
果然簡(jiǎn)單很多啊~~~
++++++++++++++++++++++++++++++++++++++
總結(jié)
以上是生活随笔為你收集整理的python数字从大到小排列_Python练习题 005:三个数字由大到小排序输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: python基础ppt_Python基础
- 下一篇: python列表生成多个号码_pytho
