🔢Python 程式練習:4
這是一個很好的 Python 程式設計練習,涵蓋了迴圈、條件判斷以及數列生成。
以下是針對您需求的程式碼片段和說明:
💻 程式碼實現 (Python)
1. 計算 到 所有偶數的加總
這個任務可以使用 for 迴圈來完成。
Python
# 初始化總和為 0
total_sum = 0
# 從 1 到 1000 進行迴圈
# 提示:range(1, 1001) 會產生 1, 2, ..., 1000
for number in range(1, 1001):
# 檢查數字是否為偶數(即數字除以 2 的餘數為 0)
if number % 2 == 0:
total_sum += number
# 輸出結果
print(f"1 到 1000 所有偶數的總和為: {total_sum}")
# --- 優化方法 ---
# 提示:可以直接讓迴圈每次跳 2 步,減少判斷次數
optimized_sum = 0
# range(start, stop, step) -> start=2, stop=1001 (不包含), step=2
for even_number in range(2, 1001, 2):
optimized_sum += even_number
print(f"優化後的總和(應相同): {optimized_sum}")
數學公式驗證: 到 的偶數是 。這是一個等差數列,共有 個數。 總和 。 程式碼運算結果應為 250500。
2. 產生對應長度的費氏數列 (Fibonacci Sequence)
費氏數列的定義是:數列中的下一個數是前兩個數的和。 ,其中 且 (或 且 )。您的範例使用了 的慣例。
Python
# 讓使用者輸入一個數字,決定數列的長度
try:
length = int(input("請輸入您想要產生的費氏數列長度 (例如:8): "))
except ValueError:
print("請輸入一個有效的整數。")
# 如果輸入錯誤,則設定一個預設值
length = 8
# 初始化數列
fib_sequence = []
# 處理長度為 0, 1, 或 2 的特殊情況
if length <= 0:
print("長度必須大於 0。")
elif length == 1:
fib_sequence = [1]
elif length == 2:
fib_sequence = [1, 1]
else:
# 初始化前兩個數 (符合您的範例 1, 1, ...)
a, b = 1, 1
fib_sequence = [a, b]
# 從第 3 個數開始迴圈,直到達到所需的長度
# 我們已經有了 2 個數,所以只需要再算 length - 2 次
for _ in range(length - 2):
# 計算下一個數:前兩個數的和
next_fib = a + b
# 將新數加入數列
fib_sequence.append(next_fib)
# 更新 a 和 b,為下一次迭代做準備
# 舊的 b 成為新的 a,新的 next_fib 成為新的 b
a, b = b, next_fib
# 輸出結果
print(f"長度為 {length} 的費氏數列為:")
print(fib_sequence)
✨ 下一步建議
您希望我將上面兩個功能整合到一個 Python 函數中,讓您可以更方便地呼叫它們,例如:
calculate_even_sum(start, end)generate_fibonacci(n)
您想要我提供整合後的函數程式碼嗎?
留言
張貼留言