1 解題思路
對100以內的奇數求和,有四種常見的解題方法:
- 用range函數遍歷100以內的奇數,然后用sum函數求和
- for 循環嵌套if語句,將100以內的奇數相加求和
- while循環將100以內的奇數相加,並打印求和
- 用遞歸方法求和
2 解題方法
方法一: sum函數
1 print(sum(range(1, 100, 2)))
首先用range函數創建了一個整數列表,range(1, 100, 2)表示取值為1-100(不包括100)的整數,步長為2,輸出的值為1,3,5……99
更多關於range函數的用法查看第1期-九九乘法表(opens new window)
然后用sum函數對100以內的奇數求和
最后用print函數將求和結果打印出來
這行代碼充分體現了Python 語言的簡潔性!!!
方法二: for循環
count = 0 for number in range(100): if number % 2 == 0: continue count += number print(count)
第1行: 設置一個變量count, 初始賦值為0
第3行: 用for循環遍歷100以內所有的整數
第4-6行: 用if語句判斷100以內的數是否為奇數,是奇數就相加(if i % 2 == 0,continue的含義是當數字為偶數時退出本次循環)
第8行: 用print函數打印其和
這是我們在Python基礎交互課第六章循環部分講過的知識點,忘記了的小伙伴可以再學習下課程哦~
方法三: while循環
count = 0 number = 1 while number < 100: count += number number += 2 print(count)
第1-2行: 設置一個變量count ,初始賦值為0,變量number初始賦值為1
第4-6行: 設定while循環的運行條件(number < 100)及執行語句(count += number;number += 2)
第8行: 用print函數打印其和
方法四: 遞歸求和

def sum(x): if x > 99: return 0 else: count = sum(x + 2) return x + count print(sum(1))
先看下什么是遞歸:
遞歸(Recursion)
遞歸是一種解決問題的思路,其精髓在於將問題分解為規模更小的相同問題,直到問題規模小到可以用非常簡單直接的方式來解決,其算法方面的明顯特征就是:在算法流程中調用自身。
也可以說在函數內部調用自己的函數被稱之為遞歸
遞歸算法三定律:
- 必須要有結束條件(最小規模問題的直接解決)
- 必須能向結束條件演進(減小問題規模)
- 必須調用自身(解決減小了規模的相同問題)
在這段代碼中,
第1行: 用def定義 sum 函數,傳入參數 x
第2-3行: 設定這個設定遞歸算法的結束條件(if x > 99,return 0)
第4-6行: 在算法流程中調用sum函數自身,通過 return函數執行語句
第7行: 為x賦值為1,用print函數打印運算結果
上述四種方法的運行結果為: