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