雖然標題是隨機數,但是卻跟隨機一點關係都沒有唷~
這一題主要練習的項目大概就是這三個:
1)分割字串
2)串列去除重複
3)串列排列
本題"讀取"的方式我是使用try...except...的方式來編寫:
架構大概是這樣
try:
<主要程式區>
except EOFError:
pass
分割字串的部分,python有split函數可以使用,可以直接利用' '分割並存成list型態
split的寫法架構是這樣:
input_string = input_string(' ', -1) 利用' '作為分割條件,-1代表要全部分割(預設值)
例:
a = "a b c d"
b = a.split(' ', 1)
則b會得到的是 ['a', 'b c d']
c = a.split(' ', 2)
則c會得到的是 ['a', 'b', 'c d']
去除重複的方法可以利用set(),複習一下list(), tuple(), set(), dict()
list() : 串列 : 有順序、可改變內容、以中括號標示
tuple() : 序對 : 有順序、不可改變、小括號標示
set() : 集合 : 沒有順序、可改變內容、不可重複、大括號標示
dict() : 字典 : 沒有順序、可改變內容、不可重複、大括號標示、 {key, value}
所以此時我們可以利用set()的不重複性來做,要注意的是前面用split分割的串列內容型態不是數字,所以要記得做型態轉換
no_same_number = list(set(input_list))
因為集合沒有順序,之後要做排序有點麻煩,所以我又把他再次轉成串列比較方便
最後排序直接使用sort()就可以大功告成了~
要研究排序法的可以去挑戰其他題目,這題就先不贅述了...
Thank you for watching.
Alex.