加分練習題
(1) 請撰寫一個Python程式,印出菱形。[hint:可使用str.center的方法]
*
***
*****
*******
*****
***
*
(2) 請撰寫Python 程式,用random module在1-50之間隨機產生10個相異的數值,接著判斷產生的這些數值是否存在一個可以被5整除的數,將這些數值印出。
[hint: random.sample(range(1,50),10) ]
(3) [Guess the number]請撰寫一個Python程式,使用者猜一個介於範圍(例如 1 到 50)之間的數字,若使用者猜錯,就詢問他們想繼續玩還是退出(若要退出輸入stop字串);若使用者猜對,就顯示祝賀訊息,並統計使用者的嘗試次數。如果使用者輸入的數字超出設定範圍,就顯示錯誤提示。
(4) [字母縮寫] 請撰寫一個Python程式,使用者輸入一段話(英文句子),程式抓出單字的第一個字母,並輸出為大寫的縮寫字母。(如:輸入: As soon as possible,輸出: ASAP)
(5) [函式]算複利的本利和:複利會將利息計算於本金重複計算利息,也就是上一期末的本利和作為下一期的本金,若本金P元,年利率為r,年數為t年,複利本利和為S元,複利的本利和公式S=P*(1+r)t,請撰寫一個Python程式,(1) 令他定義一個函式用來計算複利本利和,接著要求使用者輸入本金、年利率及年數,然後呼叫此函式計算複利本利和,在印出結果;(2) 請用遞迴函示撰寫該函式,同樣去呼叫該遞迴函式得到本利和並印出結果。
(6) 請撰寫一個Python程式,與電腦猜拳遊戲 (用random模組),讓使用者輸入剪刀、石頭或布,直到使用者贏才結束程式。
(7) 請撰寫一個Python程式,讓使用者建立三組可以寫入帳號(字串資料)及密碼(數值資料)的資料至 account dict(字典)的資料型態,account={’Bob’:1235790,’Helen’:98680},帳號為key;密碼為value。首先使用者輸入帳號名稱時需檢查該帳號是否已經存在account dict 之內,若已經存在請使用者重新再設定直到沒有存在為止,之後再讓使用者輸入密碼,最後把正確的帳號及密碼存於account dict之中,要能讓使用者寫入三組帳號密碼,所以account dict最後有五筆資料。
(8) [List
Comprehensions] a1 = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]. Write one line of Python that takes this list a
and makes a new list that has only the even
elements of this list in it
(9) [最小公倍數(least common multiple)] 請撰寫一個Python程式,讓使用者輸入任意兩個正整數,計算它們的的最小公倍數。