SlideShare a Scribd company logo
1 of 22
Download to read offline
8 集合、字典
結語
54
python 所提供集合與字典這兩種型別語法簡潔,使用
方便,往往數列程式就可完成許多動作。集合可以很快的找
出不重複的元素,字典則可使用非數字下標存取資料,前者
下標稱索引,後者稱為對映值。字典的索引雖不得重複,但
對映值可為串列型別,代表可儲存同索引但不同對映值的資
料。若能善用本章的集合與字典兩種型別,你會很驚訝某些
複雜的程式問題對你已經不再是問題了。
由於使用迴圈取出集合或字典的元素,元素並沒有特定
順序,此時常需透過 sorted 函式來排序。在此之前,排序
規則都很簡單,一般使用 lambda 都可解決,但經常會有些
複雜的排序規則超出 lambda 函式所能處理的,這就要使用
下一章的函式來解決。
8 集合、字典
習題 1
55
 設定一串 DNA 序列如下,若以每八個鹽基為一組,撰寫
程式找出所有重複的鹽基序列,依數量由大到小排列。
dna = "ACGTAAGTCCGAGTAATAGATAATCAGAATCGGAATCAAGAAGTCCGAAGTCCGAACGTAAG"
輸出:
AAGTCCGA 3
AGTCCGAA 2
GAAGTCCG 2
8 集合、字典
習題 2
56
 同上題 dna 序列,撰寫程式找出最長的重複鹽基序列。
GAAGTCCGAA 2
8 集合、字典
習題 3
57
 右邊六種動物:兔、牛、馬、羊、狗、貓。請撰寫程式,
任選兩種動物找出十種不同組合,依動物順列排列,以下
為輸出樣式:
1 兔牛
2 兔馬
3 兔貓
4 牛馬
5 牛狗
6 牛貓
7 馬狗
8 馬貓
9 羊貓
10 狗貓
8 集合、字典
習題 4
58
 以下為一群人可以出席的時間,撰寫程式讀入此檔,找出
最多人出席的時間,依出席人數由多到少依序排列,若人
數相同,依星期時間排列。
A : 一二三
B : 日一二四五
C : 一三五六
D : 六日
E : 二三四五六
F : 二四五
...
輸出:
二 [10] A B E F G H I J K M
三 [ 9] A C E G H I K M N
一 [ 7] A B C G I K M
五 [ 7] B C E F H J N
六 [ 7] C D E I J M N
四 [ 5] B E F H J
日 [ 3] B D K wkdates.dat@web
8 集合、字典
習題 5
59
 使用上題資料檔,撰寫程式任選兩天印出此兩天都會出現
的成員,印出所有的兩天組合,以下為依時間排列的輸出
結果。
日 一 : B K
日 二 : B K
日 三 : K
日 四 : B
日 五 : B
日 六 : D
一 二 : A B G I K M
一 三 : A C G I K M
一 四 : B
一 五 : B C
一 六 : C I M
二 三 : A E G H I K M
二 四 : B E F H J
二 五 : B E F H J
二 六 : E I J M
三 四 : E H
三 五 : C E H N
三 六 : C E I M N
四 五 : B E F H J
四 六 : E J
五 六 : C E J N
8 集合、字典
習題 6
60
 以下為某個學校學生的生肖資料檔,撰寫程式讀入資料檔,
印出各個生肖的學生數量:
豬蛇豬牛羊羊豬羊豬龍狗羊蛇狗猴羊馬馬鼠羊豬蛇狗雞蛇
牛猴蛇蛇馬豬狗猴狗猴蛇蛇龍兔羊鼠豬狗豬兔龍龍猴猴雞
豬牛羊鼠兔狗狗馬狗猴虎蛇虎羊虎蛇猴馬狗蛇牛鼠羊馬牛
雞狗牛馬虎猴馬虎豬鼠豬馬羊猴龍猴馬龍鼠猴牛龍鼠羊牛
猴兔牛馬兔羊豬雞羊雞雞雞猴鼠蛇鼠豬龍龍馬馬虎蛇猴鼠
...
輸出如下:
鼠 23
牛 21
虎 17
雞 21
狗 32
豬 33
馬 28
羊 30
猴 29
兔 23
龍 35
蛇 20
zodiac.dat@web
8 集合、字典
習題 7
61
 有一唐詩資料檔如下:
王維 鹿柴 空山不見人 但聞人語響 返景入深林 復照青苔上
李白 勞勞亭 天下傷心事 勞勞送客亭 春風知別苦 不遣柳條青
白居易 池上 水娃撐小艇 偷來白蓮回 不解藏蹤跡 浮萍一道開
王維 鳥鳴澗 人閒桂花落 夜靜春山空 月出驚山鳥 時鳴春澗中
韋應物 秋夜寄邱員外 懷君屬秋夜 散步詠涼天 空山松子落 幽人應未眠
李白 秋浦歌 白髮三千丈 離愁似個長 不知明鏡裡 何處得秋霜
盧綸 塞下曲(其三) 月黑雁飛高 單于夜遁逃 欲將輕騎逐 大雪滿弓刀
...
撰寫程式讀入此檔,輸入詩人名字,印出此詩人的所有作品。
> 杜甫
[1]
八陣圖:
功蓋三分國 名成八陣圖 江流石不轉 遺恨失吞吳
[2]
絕句:
江碧鳥逾白 山青花欲燃 今春看又過 何日是歸年
> 李白
[1]
勞勞亭:
天下傷心事 勞勞送客亭 春風知別苦 不遣柳條青
... poems.db@web
8 集合、字典
習題 8
62
 同上題,撰寫程式,讀入一個或多個字詞,印出滿足所有條件的
詩,印出詩名稱、詩人與詩文,以下為一些輸出結果。
> 人 山
[1]
鹿柴 王維
空山不見人 但聞人語響 返景入深林 復照青苔上
[2]
鳥鳴澗 王維
人閒桂花落 夜靜春山空 月出驚山鳥 時鳴春澗中
[3]
秋夜寄邱員外 韋應物
懷君屬秋夜 散步詠涼天 空山松子落 幽人應未眠
[4]
夜宿山寺 李白
危樓高百尺 手可摘星辰 不敢高聲語 恐驚天上人
> 李白 天
[1]
勞勞亭 李白
天下傷心事 勞勞送客亭 春風知別苦 不遣柳條青
[2]
夜宿山寺 李白
危樓高百尺 手可摘星辰 不敢高聲語 恐驚天上人
8 集合、字典
習題 9
63
 同上題資料檔,撰寫程式找出在各首詩中出現次數最多的前三個
字,將此三個字與詩的作者及詩名印成出如下型式:。
「不」出現於 10 首詩中:
1 王維:鹿柴
2 李白:勞勞亭
3 白居易:池上
4 李白:秋浦歌
5 李頻:渡漢江
6 賈島:劍客
7 賈島:尋隱者不遇
8 李白:夜宿山寺
9 杜甫:八陣圖
10 王昌齡:答武陵太守
「人」出現於 7 首詩中:
1 王維:鹿柴
2 王維:鳥鳴澗
3 韋應物:秋夜寄邱員外
4 李頻:渡漢江
5 李白:夜宿山寺
6 駱賓王:易水送別
7 錢起:江行無題
「山」出現於 5 首詩中:
1 王維:鹿柴
2 王維:鳥鳴澗
3 韋應物:秋夜寄邱員外
4 賈島:尋隱者不遇
5 杜甫:絕句
8 集合、字典
習題 10
64
 參考列印課表範例,在以下選課檔中,每列包含科目名稱與若干
組由冒號分開的星期與節數。若節數以橫線分開,例如:6-8,
則代表上課節數為6、7、8 連續三節。撰寫程式讀入以下左側
選課檔印出如右側的課程表。
| 一 二 三 四 五
------------------
微積分 四:78 五:56 1 | 物
物理 三:12 二:7 2 | 物 程
化學 三:8 一:34 3 | 化 程 英
實驗 一:6-8 ----> 4 | 化 程 英
經濟 二:56 ------------------
英文 五:34 5 | 經 微
程設 四:2-4 6 | 實 經 微
7 | 實 物 微
8 | 實 化 微
schedule.dat@web
8 集合、字典
習題 11
65
 讀入課程表,撰寫程式印出右側原始選課單。請留意,在左方課程表單
中,沒有課的節數是使用中文空格,即 chr(12288) 代替。為簡化
程式,課程的每一節課都要印出,不使用橫線。輸出的課程排列順序是
以課程在一周內最先上課時間為先後,以下為輸出結果:
| 一 二 三 四 五
------------------
1 | 物 化 一:34 三:8
2 | 物 程 實 一:678
3 | 化 程 英 經 二:56
4 | 化 程 英 ----> 物 二:7 三:12
------------------ 程 四:234
5 | 經 微 微 四:78 五:56
6 | 實 經 微 英 五:34
7 | 實 物 微
8 | 實 化 微
courses.dat@web
8 集合、字典
習題 12
66
 撰寫程式檢查以下左邊選課時間表是否有衝堂,若有輸出如
右側衝堂時間與課程。
微積分 四:78 五:56
物理 三:12 二:7
化學 三:8 一:34 星期二 第 7 節 : 物理 天文
體育 四:6-8 星期三 第 2 節 : 物理 計概
經濟 二:56 ----> 星期四 第 6 節 : 體育 中文
天文 二:78 星期四 第 7 節 : 微積分 體育
程設 四:2-4 星期四 第 8 節 : 微積分 體育
中文 四:5-6 星期五 第 6 節 : 微積分 實驗
實驗 五:6-8
計概 三:2-4
courses2.dat@web
8 集合、字典
習題 13
67
 有一扭蛋機內有十組公仔,假設一組公仔有 n 個不同
樣式的公仔,且每個扭蛋由扭蛋機出來的機率相同,請
用程式模擬至少要扭多少次才能取得一組完整的公仔,
輸出平均次數。以下為 n 分別在 [3,9] 間的模擬結果:
n 次數
3 4.992
4 7.4981
5 10.1152
6 12.8867
7 15.8292
8 18.7931
9 21.9676
8 集合、字典
習題 14-1
68
 以下為某公司某月派遣員工的工作日期檔案:
1 趙志明 1,2,5-10,21-25,28
2 錢俊傑 1-5,8-12,13,18,29,30
3 孫建宏 2,4,8,10-20,23,27,29
4 李俊宏 3,6,8,10,12,14-20,23-29
5 周淑芬 1,3-4,6,9,15-20,22,24-30
6 吳淑惠 5,9,11-13,17-20,25,27
7 鄭美玲 1-10,20-30
8 王雅婷 2-4,5-10,13-24
9 劉美惠 3,5,8,12-20,24,26,29
10 陳麗華 4-9,12-19,23-30
11 汪淑娟 1,4,7-13,16-21,23,28-30
12 江怡君 1-8,10-15,20-25
wdates.dat@web
8 集合、字典
習題 14-2
69
撰寫程式,讀入檔案,依工作日數次序,由大到小重新排列,工作
日數以中括號框住。派遣員工的日薪為 1200 元,輸出時也將月
領薪資一併印出,格式如下:
1 陳麗華 [22] 26400 4-9,12-19,23-30
2 王雅婷 [21] 25200 2-4,5-10,13-24
3 鄭美玲 [21] 25200 1-10,20-30
4 江怡君 [20] 24000 1-8,10-15,20-25
5 李俊宏 [19] 22800 3,6,8,10,12,14-20,23-29
6 汪淑娟 [19] 22800 1,4,7-13,16-21,23,28-30
...
12 吳淑惠 [11] 13200 5,9,11-13,17-20,25,27
8 集合、字典
習題 15-1
70
 有一簡單中文點矩陣檔案儲存 7× 7 的中文點陣如下:
大 0x8 0x8 0x7f 0x8 0x14 0x22 0x41
中 0x8 0x8 0x7f 0x49 0x7f 0x8 0x8
小 0x8 0x8 0x2a 0x49 0x49 0x8 0x8
央 0x8 0x8 0x3e 0x2a 0x7f 0x14 0x63
土 0x8 0x8 0x3e 0x8 0x8 0x8 0x7f
...
總共包含「大中小央土木一二三四五六七八九十百」,撰寫程
式,讀入:一些中文字,印出其點矩圖形。若要輸出中文空白
,請使用萬國碼(U+3000)空白字符,等同 hr(12288)。
cbitmap.dat@web
8 集合、字典
習題 15-2
71
> 中央一百
中 央 百百百百百百百
中 央 百
中中中中中中中 央央央央央 百百百百百
中 中 中 央 央 央 一一一一一一一 百 百
中中中中中中中 央央央央央央央 百百百百百
中 央 央 百 百
中 央央 央央 百百百百百
> 三百七十五
三三三三三 百百百百百百百 七 十 五五五五五
百 七 十 五
百百百百百 七七七七七七七 十 五
三三三三三 百 百 七 十十十十十十十 五五五五五
百百百百百 七 十 五 五
百 百 七 十 五 五
三三三三三三三 百百百百百 七七七七 十 五五五五五五五
8 集合、字典
習題 16
72
 讀入上題中文字點矩資料檔與第五章蝴蝶習題,輸入中文字
串,印出中文字的蝴蝶點矩圖形。以下為輸入「中央一百」
的蝴蝶點陣圖:
> 中央一百
8 集合、字典
習題 17
73
 讀入上上題資料檔,撰寫程式依各中文字所需「點」的數量,
由少到多排列中文字的順序,輸出如下:
一 7
八 10
二 12
十 13
小 14
六 15
大 16
七 16
三 17
土 17
九 18
木 19
中 21
五 23
央 23
百 27
四 32
8 集合、字典
習題 18
74
 有一成語檔如下:
灌夫罵座
焚膏繼晷
無所適從
班門弄斧
瓜田李下
瓜李之嫌
瓜代有期
畫餅充飢
馬革裹屍
...
病入膏肓
盲人瞎馬
運斤成風
郢匠揮斤
舟中敵國
門可羅雀
閉月羞花
防微杜漸
撰寫程式,讀入成語檔,印出第一個字相同的成語,由個數多到
少依次印出,每列最多印五個成語,輸出型式如下:
風 15
風言風語 風雨交加 風雲變幻 風起雲湧 風月無邊
風捲殘雲 風吹雨打 風雨無阻 風平浪靜 風兩飄搖
風調雨順 風雨同舟 風行一時 風馳電掣 風聲鶴唳
一 10
一竅不通 一箭雙雕 一飯千金 一語成讖 一鳴驚人
一曝十寒 一毛不拔 一衣帶水 一馬當先 一丘之貉
狼 7
狼吞虎嚥 狼嚎鬼哭 狼心狗肺 狼狽為奸 狼奔豕突
狼子野心 狼狽不堪
如 6
如墮雲霧 如日東昇 如日方中 如雷貫耳 如魚得水
如虎添翼
... idioms.dat@web
8 集合、字典
習題 19
75
 使用上一題成語檔,撰寫程式讀入成語檔與筆劃檔,依照
成語筆劃排列,列印時先以成語第一個字的筆劃區分,之
後再依據各字的筆劃由少到多排列,程式輸出如下:
1 劃:
一毛不拔
一丘之貉
一衣帶水
一馬當先
一飯千金
一語成讖
一鳴驚人
一箭雙雕
一竅不通
一曝十寒
2 劃:
七上八下
九牛一毛
入木三分
人仰馬翻
八面玲瓏
人面桃花
3 劃:
三人成虎
上下其手
三令五申
鶴髮童顏
22 劃:
驚弓之鳥
驚濤駭浪
28 劃:
鸚鵡學舌
及瓜而代
三生有幸
上行下效
亡羊補牢
...
21 劃:
鶴立雞群
strokes.dat@web

More Related Content

What's hot (20)

Ch8 教學
Ch8 教學Ch8 教學
Ch8 教學
 
Ch7 範例
Ch7 範例Ch7 範例
Ch7 範例
 
Ch10 習題
Ch10 習題Ch10 習題
Ch10 習題
 
Ch4 教學
Ch4 教學Ch4 教學
Ch4 教學
 
Ch5 教學
Ch5 教學Ch5 教學
Ch5 教學
 
Ch1 教學
Ch1 教學Ch1 教學
Ch1 教學
 
Ch12 教學
Ch12 教學Ch12 教學
Ch12 教學
 
Ch6 教學
Ch6 教學Ch6 教學
Ch6 教學
 
Ch11 範例
Ch11 範例Ch11 範例
Ch11 範例
 
Ch2 教學
Ch2 教學Ch2 教學
Ch2 教學
 
Ppt 1-50
Ppt 1-50Ppt 1-50
Ppt 1-50
 
Ch5 範例
Ch5 範例Ch5 範例
Ch5 範例
 
Ch9 範例
Ch9 範例Ch9 範例
Ch9 範例
 
Ppt 167-173
Ppt 167-173Ppt 167-173
Ppt 167-173
 
Ppt 26-50
Ppt 26-50Ppt 26-50
Ppt 26-50
 
Ch12 範例
Ch12 範例Ch12 範例
Ch12 範例
 
Ppt 51-77
Ppt 51-77Ppt 51-77
Ppt 51-77
 
Ppt 101-119
Ppt 101-119Ppt 101-119
Ppt 101-119
 
Ch3 習題
Ch3 習題Ch3 習題
Ch3 習題
 
Ppt 51-77
Ppt 51-77Ppt 51-77
Ppt 51-77
 

Similar to Ch8 習題

[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門台灣資料科學年會
 
Mahout資料分析基礎入門
Mahout資料分析基礎入門Mahout資料分析基礎入門
Mahout資料分析基礎入門Jhang Raymond
 
手把手打開Python資料分析大門
手把手打開Python資料分析大門手把手打開Python資料分析大門
手把手打開Python資料分析大門Yen-lung Tsai
 
手机腾讯网Js资源版本增量更新方案w3ctech
手机腾讯网Js资源版本增量更新方案w3ctech 手机腾讯网Js资源版本增量更新方案w3ctech
手机腾讯网Js资源版本增量更新方案w3ctech luyongfugx
 
手把手教你 R 語言分析實務
手把手教你 R 語言分析實務手把手教你 R 語言分析實務
手把手教你 R 語言分析實務Helen Afterglow
 
Json tutorial
Json tutorialJson tutorial
Json tutorialcri fan
 
求职笔试大全
求职笔试大全求职笔试大全
求职笔试大全yiditushe
 
20161209-Julia Taiwan first meetup-julia語言入門
20161209-Julia Taiwan first meetup-julia語言入門20161209-Julia Taiwan first meetup-julia語言入門
20161209-Julia Taiwan first meetup-julia語言入門岳華 杜
 
R 語言教學: 探索性資料分析與文字探勘初探
R 語言教學: 探索性資料分析與文字探勘初探R 語言教學: 探索性資料分析與文字探勘初探
R 語言教學: 探索性資料分析與文字探勘初探Sean Yu
 

Similar to Ch8 習題 (11)

Python系列2
Python系列2Python系列2
Python系列2
 
[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門
 
Mahout資料分析基礎入門
Mahout資料分析基礎入門Mahout資料分析基礎入門
Mahout資料分析基礎入門
 
手把手打開Python資料分析大門
手把手打開Python資料分析大門手把手打開Python資料分析大門
手把手打開Python資料分析大門
 
[系列活動] Python 爬蟲實戰
[系列活動] Python 爬蟲實戰[系列活動] Python 爬蟲實戰
[系列活動] Python 爬蟲實戰
 
手机腾讯网Js资源版本增量更新方案w3ctech
手机腾讯网Js资源版本增量更新方案w3ctech 手机腾讯网Js资源版本增量更新方案w3ctech
手机腾讯网Js资源版本增量更新方案w3ctech
 
手把手教你 R 語言分析實務
手把手教你 R 語言分析實務手把手教你 R 語言分析實務
手把手教你 R 語言分析實務
 
Json tutorial
Json tutorialJson tutorial
Json tutorial
 
求职笔试大全
求职笔试大全求职笔试大全
求职笔试大全
 
20161209-Julia Taiwan first meetup-julia語言入門
20161209-Julia Taiwan first meetup-julia語言入門20161209-Julia Taiwan first meetup-julia語言入門
20161209-Julia Taiwan first meetup-julia語言入門
 
R 語言教學: 探索性資料分析與文字探勘初探
R 語言教學: 探索性資料分析與文字探勘初探R 語言教學: 探索性資料分析與文字探勘初探
R 語言教學: 探索性資料分析與文字探勘初探
 

More from hungchiayang1 (20)

Exercise 1 3
Exercise 1 3Exercise 1 3
Exercise 1 3
 
P127 135 new
P127 135 newP127 135 new
P127 135 new
 
Python p.193 197
Python p.193 197Python p.193 197
Python p.193 197
 
Python differential equation
Python differential equationPython differential equation
Python differential equation
 
化學系 python 習題
化學系 python 習題化學系 python 習題
化學系 python 習題
 
化學系 python 練習
化學系 python 練習化學系 python 練習
化學系 python 練習
 
化學系 python 教學
化學系 python 教學化學系 python 教學
化學系 python 教學
 
Ppt 120-126
Ppt 120-126Ppt 120-126
Ppt 120-126
 
Ppt 151-151
Ppt 151-151Ppt 151-151
Ppt 151-151
 
Ppt 136-136
Ppt 136-136Ppt 136-136
Ppt 136-136
 
Ppt 143-143
Ppt 143-143Ppt 143-143
Ppt 143-143
 
Ppt 137-137
Ppt 137-137Ppt 137-137
Ppt 137-137
 
Ppt 150-150
Ppt 150-150Ppt 150-150
Ppt 150-150
 
Ppt 145-149
Ppt 145-149Ppt 145-149
Ppt 145-149
 
Ppt 138-142
Ppt 138-142Ppt 138-142
Ppt 138-142
 
Ppt 174-174
Ppt 174-174Ppt 174-174
Ppt 174-174
 
Ppt 1-25
Ppt 1-25Ppt 1-25
Ppt 1-25
 
Ppt 144-144
Ppt 144-144Ppt 144-144
Ppt 144-144
 
Ppt 152-155
Ppt 152-155Ppt 152-155
Ppt 152-155
 
Ppt 156-156
Ppt 156-156Ppt 156-156
Ppt 156-156
 

Recently uploaded

哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 

Recently uploaded (6)

哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 

Ch8 習題

  • 1. 8 集合、字典 結語 54 python 所提供集合與字典這兩種型別語法簡潔,使用 方便,往往數列程式就可完成許多動作。集合可以很快的找 出不重複的元素,字典則可使用非數字下標存取資料,前者 下標稱索引,後者稱為對映值。字典的索引雖不得重複,但 對映值可為串列型別,代表可儲存同索引但不同對映值的資 料。若能善用本章的集合與字典兩種型別,你會很驚訝某些 複雜的程式問題對你已經不再是問題了。 由於使用迴圈取出集合或字典的元素,元素並沒有特定 順序,此時常需透過 sorted 函式來排序。在此之前,排序 規則都很簡單,一般使用 lambda 都可解決,但經常會有些 複雜的排序規則超出 lambda 函式所能處理的,這就要使用 下一章的函式來解決。
  • 2. 8 集合、字典 習題 1 55  設定一串 DNA 序列如下,若以每八個鹽基為一組,撰寫 程式找出所有重複的鹽基序列,依數量由大到小排列。 dna = "ACGTAAGTCCGAGTAATAGATAATCAGAATCGGAATCAAGAAGTCCGAAGTCCGAACGTAAG" 輸出: AAGTCCGA 3 AGTCCGAA 2 GAAGTCCG 2
  • 3. 8 集合、字典 習題 2 56  同上題 dna 序列,撰寫程式找出最長的重複鹽基序列。 GAAGTCCGAA 2
  • 4. 8 集合、字典 習題 3 57  右邊六種動物:兔、牛、馬、羊、狗、貓。請撰寫程式, 任選兩種動物找出十種不同組合,依動物順列排列,以下 為輸出樣式: 1 兔牛 2 兔馬 3 兔貓 4 牛馬 5 牛狗 6 牛貓 7 馬狗 8 馬貓 9 羊貓 10 狗貓
  • 5. 8 集合、字典 習題 4 58  以下為一群人可以出席的時間,撰寫程式讀入此檔,找出 最多人出席的時間,依出席人數由多到少依序排列,若人 數相同,依星期時間排列。 A : 一二三 B : 日一二四五 C : 一三五六 D : 六日 E : 二三四五六 F : 二四五 ... 輸出: 二 [10] A B E F G H I J K M 三 [ 9] A C E G H I K M N 一 [ 7] A B C G I K M 五 [ 7] B C E F H J N 六 [ 7] C D E I J M N 四 [ 5] B E F H J 日 [ 3] B D K wkdates.dat@web
  • 6. 8 集合、字典 習題 5 59  使用上題資料檔,撰寫程式任選兩天印出此兩天都會出現 的成員,印出所有的兩天組合,以下為依時間排列的輸出 結果。 日 一 : B K 日 二 : B K 日 三 : K 日 四 : B 日 五 : B 日 六 : D 一 二 : A B G I K M 一 三 : A C G I K M 一 四 : B 一 五 : B C 一 六 : C I M 二 三 : A E G H I K M 二 四 : B E F H J 二 五 : B E F H J 二 六 : E I J M 三 四 : E H 三 五 : C E H N 三 六 : C E I M N 四 五 : B E F H J 四 六 : E J 五 六 : C E J N
  • 7. 8 集合、字典 習題 6 60  以下為某個學校學生的生肖資料檔,撰寫程式讀入資料檔, 印出各個生肖的學生數量: 豬蛇豬牛羊羊豬羊豬龍狗羊蛇狗猴羊馬馬鼠羊豬蛇狗雞蛇 牛猴蛇蛇馬豬狗猴狗猴蛇蛇龍兔羊鼠豬狗豬兔龍龍猴猴雞 豬牛羊鼠兔狗狗馬狗猴虎蛇虎羊虎蛇猴馬狗蛇牛鼠羊馬牛 雞狗牛馬虎猴馬虎豬鼠豬馬羊猴龍猴馬龍鼠猴牛龍鼠羊牛 猴兔牛馬兔羊豬雞羊雞雞雞猴鼠蛇鼠豬龍龍馬馬虎蛇猴鼠 ... 輸出如下: 鼠 23 牛 21 虎 17 雞 21 狗 32 豬 33 馬 28 羊 30 猴 29 兔 23 龍 35 蛇 20 zodiac.dat@web
  • 8. 8 集合、字典 習題 7 61  有一唐詩資料檔如下: 王維 鹿柴 空山不見人 但聞人語響 返景入深林 復照青苔上 李白 勞勞亭 天下傷心事 勞勞送客亭 春風知別苦 不遣柳條青 白居易 池上 水娃撐小艇 偷來白蓮回 不解藏蹤跡 浮萍一道開 王維 鳥鳴澗 人閒桂花落 夜靜春山空 月出驚山鳥 時鳴春澗中 韋應物 秋夜寄邱員外 懷君屬秋夜 散步詠涼天 空山松子落 幽人應未眠 李白 秋浦歌 白髮三千丈 離愁似個長 不知明鏡裡 何處得秋霜 盧綸 塞下曲(其三) 月黑雁飛高 單于夜遁逃 欲將輕騎逐 大雪滿弓刀 ... 撰寫程式讀入此檔,輸入詩人名字,印出此詩人的所有作品。 > 杜甫 [1] 八陣圖: 功蓋三分國 名成八陣圖 江流石不轉 遺恨失吞吳 [2] 絕句: 江碧鳥逾白 山青花欲燃 今春看又過 何日是歸年 > 李白 [1] 勞勞亭: 天下傷心事 勞勞送客亭 春風知別苦 不遣柳條青 ... poems.db@web
  • 9. 8 集合、字典 習題 8 62  同上題,撰寫程式,讀入一個或多個字詞,印出滿足所有條件的 詩,印出詩名稱、詩人與詩文,以下為一些輸出結果。 > 人 山 [1] 鹿柴 王維 空山不見人 但聞人語響 返景入深林 復照青苔上 [2] 鳥鳴澗 王維 人閒桂花落 夜靜春山空 月出驚山鳥 時鳴春澗中 [3] 秋夜寄邱員外 韋應物 懷君屬秋夜 散步詠涼天 空山松子落 幽人應未眠 [4] 夜宿山寺 李白 危樓高百尺 手可摘星辰 不敢高聲語 恐驚天上人 > 李白 天 [1] 勞勞亭 李白 天下傷心事 勞勞送客亭 春風知別苦 不遣柳條青 [2] 夜宿山寺 李白 危樓高百尺 手可摘星辰 不敢高聲語 恐驚天上人
  • 10. 8 集合、字典 習題 9 63  同上題資料檔,撰寫程式找出在各首詩中出現次數最多的前三個 字,將此三個字與詩的作者及詩名印成出如下型式:。 「不」出現於 10 首詩中: 1 王維:鹿柴 2 李白:勞勞亭 3 白居易:池上 4 李白:秋浦歌 5 李頻:渡漢江 6 賈島:劍客 7 賈島:尋隱者不遇 8 李白:夜宿山寺 9 杜甫:八陣圖 10 王昌齡:答武陵太守 「人」出現於 7 首詩中: 1 王維:鹿柴 2 王維:鳥鳴澗 3 韋應物:秋夜寄邱員外 4 李頻:渡漢江 5 李白:夜宿山寺 6 駱賓王:易水送別 7 錢起:江行無題 「山」出現於 5 首詩中: 1 王維:鹿柴 2 王維:鳥鳴澗 3 韋應物:秋夜寄邱員外 4 賈島:尋隱者不遇 5 杜甫:絕句
  • 11. 8 集合、字典 習題 10 64  參考列印課表範例,在以下選課檔中,每列包含科目名稱與若干 組由冒號分開的星期與節數。若節數以橫線分開,例如:6-8, 則代表上課節數為6、7、8 連續三節。撰寫程式讀入以下左側 選課檔印出如右側的課程表。 | 一 二 三 四 五 ------------------ 微積分 四:78 五:56 1 | 物 物理 三:12 二:7 2 | 物 程 化學 三:8 一:34 3 | 化 程 英 實驗 一:6-8 ----> 4 | 化 程 英 經濟 二:56 ------------------ 英文 五:34 5 | 經 微 程設 四:2-4 6 | 實 經 微 7 | 實 物 微 8 | 實 化 微 schedule.dat@web
  • 12. 8 集合、字典 習題 11 65  讀入課程表,撰寫程式印出右側原始選課單。請留意,在左方課程表單 中,沒有課的節數是使用中文空格,即 chr(12288) 代替。為簡化 程式,課程的每一節課都要印出,不使用橫線。輸出的課程排列順序是 以課程在一周內最先上課時間為先後,以下為輸出結果: | 一 二 三 四 五 ------------------ 1 | 物 化 一:34 三:8 2 | 物 程 實 一:678 3 | 化 程 英 經 二:56 4 | 化 程 英 ----> 物 二:7 三:12 ------------------ 程 四:234 5 | 經 微 微 四:78 五:56 6 | 實 經 微 英 五:34 7 | 實 物 微 8 | 實 化 微 courses.dat@web
  • 13. 8 集合、字典 習題 12 66  撰寫程式檢查以下左邊選課時間表是否有衝堂,若有輸出如 右側衝堂時間與課程。 微積分 四:78 五:56 物理 三:12 二:7 化學 三:8 一:34 星期二 第 7 節 : 物理 天文 體育 四:6-8 星期三 第 2 節 : 物理 計概 經濟 二:56 ----> 星期四 第 6 節 : 體育 中文 天文 二:78 星期四 第 7 節 : 微積分 體育 程設 四:2-4 星期四 第 8 節 : 微積分 體育 中文 四:5-6 星期五 第 6 節 : 微積分 實驗 實驗 五:6-8 計概 三:2-4 courses2.dat@web
  • 14. 8 集合、字典 習題 13 67  有一扭蛋機內有十組公仔,假設一組公仔有 n 個不同 樣式的公仔,且每個扭蛋由扭蛋機出來的機率相同,請 用程式模擬至少要扭多少次才能取得一組完整的公仔, 輸出平均次數。以下為 n 分別在 [3,9] 間的模擬結果: n 次數 3 4.992 4 7.4981 5 10.1152 6 12.8867 7 15.8292 8 18.7931 9 21.9676
  • 15. 8 集合、字典 習題 14-1 68  以下為某公司某月派遣員工的工作日期檔案: 1 趙志明 1,2,5-10,21-25,28 2 錢俊傑 1-5,8-12,13,18,29,30 3 孫建宏 2,4,8,10-20,23,27,29 4 李俊宏 3,6,8,10,12,14-20,23-29 5 周淑芬 1,3-4,6,9,15-20,22,24-30 6 吳淑惠 5,9,11-13,17-20,25,27 7 鄭美玲 1-10,20-30 8 王雅婷 2-4,5-10,13-24 9 劉美惠 3,5,8,12-20,24,26,29 10 陳麗華 4-9,12-19,23-30 11 汪淑娟 1,4,7-13,16-21,23,28-30 12 江怡君 1-8,10-15,20-25 wdates.dat@web
  • 16. 8 集合、字典 習題 14-2 69 撰寫程式,讀入檔案,依工作日數次序,由大到小重新排列,工作 日數以中括號框住。派遣員工的日薪為 1200 元,輸出時也將月 領薪資一併印出,格式如下: 1 陳麗華 [22] 26400 4-9,12-19,23-30 2 王雅婷 [21] 25200 2-4,5-10,13-24 3 鄭美玲 [21] 25200 1-10,20-30 4 江怡君 [20] 24000 1-8,10-15,20-25 5 李俊宏 [19] 22800 3,6,8,10,12,14-20,23-29 6 汪淑娟 [19] 22800 1,4,7-13,16-21,23,28-30 ... 12 吳淑惠 [11] 13200 5,9,11-13,17-20,25,27
  • 17. 8 集合、字典 習題 15-1 70  有一簡單中文點矩陣檔案儲存 7× 7 的中文點陣如下: 大 0x8 0x8 0x7f 0x8 0x14 0x22 0x41 中 0x8 0x8 0x7f 0x49 0x7f 0x8 0x8 小 0x8 0x8 0x2a 0x49 0x49 0x8 0x8 央 0x8 0x8 0x3e 0x2a 0x7f 0x14 0x63 土 0x8 0x8 0x3e 0x8 0x8 0x8 0x7f ... 總共包含「大中小央土木一二三四五六七八九十百」,撰寫程 式,讀入:一些中文字,印出其點矩圖形。若要輸出中文空白 ,請使用萬國碼(U+3000)空白字符,等同 hr(12288)。 cbitmap.dat@web
  • 18. 8 集合、字典 習題 15-2 71 > 中央一百 中 央 百百百百百百百 中 央 百 中中中中中中中 央央央央央 百百百百百 中 中 中 央 央 央 一一一一一一一 百 百 中中中中中中中 央央央央央央央 百百百百百 中 央 央 百 百 中 央央 央央 百百百百百 > 三百七十五 三三三三三 百百百百百百百 七 十 五五五五五 百 七 十 五 百百百百百 七七七七七七七 十 五 三三三三三 百 百 七 十十十十十十十 五五五五五 百百百百百 七 十 五 五 百 百 七 十 五 五 三三三三三三三 百百百百百 七七七七 十 五五五五五五五
  • 19. 8 集合、字典 習題 16 72  讀入上題中文字點矩資料檔與第五章蝴蝶習題,輸入中文字 串,印出中文字的蝴蝶點矩圖形。以下為輸入「中央一百」 的蝴蝶點陣圖: > 中央一百
  • 20. 8 集合、字典 習題 17 73  讀入上上題資料檔,撰寫程式依各中文字所需「點」的數量, 由少到多排列中文字的順序,輸出如下: 一 7 八 10 二 12 十 13 小 14 六 15 大 16 七 16 三 17 土 17 九 18 木 19 中 21 五 23 央 23 百 27 四 32
  • 21. 8 集合、字典 習題 18 74  有一成語檔如下: 灌夫罵座 焚膏繼晷 無所適從 班門弄斧 瓜田李下 瓜李之嫌 瓜代有期 畫餅充飢 馬革裹屍 ... 病入膏肓 盲人瞎馬 運斤成風 郢匠揮斤 舟中敵國 門可羅雀 閉月羞花 防微杜漸 撰寫程式,讀入成語檔,印出第一個字相同的成語,由個數多到 少依次印出,每列最多印五個成語,輸出型式如下: 風 15 風言風語 風雨交加 風雲變幻 風起雲湧 風月無邊 風捲殘雲 風吹雨打 風雨無阻 風平浪靜 風兩飄搖 風調雨順 風雨同舟 風行一時 風馳電掣 風聲鶴唳 一 10 一竅不通 一箭雙雕 一飯千金 一語成讖 一鳴驚人 一曝十寒 一毛不拔 一衣帶水 一馬當先 一丘之貉 狼 7 狼吞虎嚥 狼嚎鬼哭 狼心狗肺 狼狽為奸 狼奔豕突 狼子野心 狼狽不堪 如 6 如墮雲霧 如日東昇 如日方中 如雷貫耳 如魚得水 如虎添翼 ... idioms.dat@web
  • 22. 8 集合、字典 習題 19 75  使用上一題成語檔,撰寫程式讀入成語檔與筆劃檔,依照 成語筆劃排列,列印時先以成語第一個字的筆劃區分,之 後再依據各字的筆劃由少到多排列,程式輸出如下: 1 劃: 一毛不拔 一丘之貉 一衣帶水 一馬當先 一飯千金 一語成讖 一鳴驚人 一箭雙雕 一竅不通 一曝十寒 2 劃: 七上八下 九牛一毛 入木三分 人仰馬翻 八面玲瓏 人面桃花 3 劃: 三人成虎 上下其手 三令五申 鶴髮童顏 22 劃: 驚弓之鳥 驚濤駭浪 28 劃: 鸚鵡學舌 及瓜而代 三生有幸 上行下效 亡羊補牢 ... 21 劃: 鶴立雞群 strokes.dat@web