說明:
請撰寫一程式,要求使用者輸入檔名read.txt,以及檔案中某單字出現的次數。輸出符合次數的單字,並依單字的第一個字母大小排序。(單字的判斷以空白隔開即可)
檔案連結:read.txt (請另存檔案,必須與程式同一資料夾)
範例輸入:
read.txt
3
範例輸出:a
is
programming
程式碼:
fn, num = input(), int(input())
with open(fn,'r',encoding='UTF-8') as fp:
lt = sorted( fp.read().split() )
setLt = sorted( set(lt) )
for i in setLt:
if lt.count(i) == num: print(i,end='\n')
這裡有個疑問,set(lt)不是會把lt中一樣的過濾掉,只會變成一個嗎?想請問為甚麼?
回覆刪除set(lt)就是讓lt裡的單字不重複,就可以逐一用下面迴圈的lt.count(),計算每個單字出現的次數
刪除如果不設set(lt),則 a is programming 會各出現3次