1. Perfect Number

完美數 (Perfect Number) 指的是一個數字,等於扣除自身以外所有正因數的加總,例如:

6 = 1+2+3
28 = 1+2+4+7+14

請寫用 python 寫個函式判斷輸入的正整數是否為完美數。

In [1]: print is_perfect(6)
Out[1]: True


In [2]: print is_perfect(8)
Out[2]: False

2. 列出數列中,最大的 3 個數字

如果給你一個「檔案」,內容是一連串的數字,每一行一個正整數,請你列出最大的 3 組數字。

檔案格式:

2134
3412
6421
8723
9239
1234
2345

要列出最大的 3 個數字,輸出:

9239
8723
6421
  • 不能使用任何 build-in sorting function 或 library。
  • 請讓你的程式時間複雜度是 O(n)
  • 執行命令: python xxx.py sample1.dat

3. Name Score

假如有個檔案,裡頭的格式是這樣: (全部都是大寫,沒有換行,字串不會重複)

"CDEF","ABC","FIJK"

拿到之後,請先按照字母大寫排序,因此順序會變成:

"ABC","CDEF", "FIJK"

然後,把每個字串的英文字母順序加總起來,比如:

"ABC" = 1 + 2 + 3 = 6

最後這個數字乘上排序後的位置,比如: "ABC" 是排在第 1 位,因此 "ABC" 的分數是 6 x 1 = 6 請你把檔案中的,每個字串的分數,加總起來,在螢幕上印出結果。

4. List Comprehension

請用 List Comprehension 加上sum()計算出

5. 產生 Fibonacci 數列的 generator

執行結果如下:

>>>c = fib()

>>>c.next()
1

>>>c.next()
2

>>>c.next()
3

>>>c.next()
5

>>>c.next()
8

練習成果

results matching ""

    No results matching ""