🔢Python 程式練習:4 ~計算 1 到 1000 所有偶數的加總

 🔢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 函數中,讓您可以更方便地呼叫它們,例如:

  1. calculate_even_sum(start, end)

  2. generate_fibonacci(n)

您想要我提供整合後的函數程式碼嗎?

留言