iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0
Python

Python探索之旅:從基礎到實踐系列 第 2

Day 2: Python 實作與應用練習

  • 分享至 

  • xImage
  •  

1. 引言

在建置好 Python 開發環境後,下一步就是開始實際練習 Python 程式設計的基本操作。在本日的報告中,我將通過幾個基礎的題目來練習 Python 的輸入輸出、迴圈和遞迴功能。這些題目將幫助我熟悉程式邏輯及解決問題的思維過程。

2. 題目與解題過程

題目 1: 輸入與輸出

題目描述:設計一個程式,要求使用者輸入一個名字,然後輸出一個問候語句。

解題思路

  1. 使用 input() 函數接收使用者輸入。
  2. 使用 print() 函數來輸出結果。

程式碼

name = input("請輸入你的名字: ")
print("你好," + name + "!歡迎學習 Python。")

解題過程

  • 首先,我透過 input() 來接收使用者的輸入,並將其存入變數 name 中。
  • 接著,使用 print() 將問候語與名字結合,輸出結果。
題目 2: 迴圈 - 計算 1 到 100 的總和

題目描述:寫一個程式,使用迴圈計算從 1 加到 100 的總和,並輸出結果。

解題思路

  1. 使用 for 迴圈遍歷從 1 到 100 的數字。
  2. 將每個數字累加到一個總和變數中。

程式碼

total = 0
for i in range(1, 101):
    total += i
print("1 到 100 的總和為:", total)

解題過程

  • 我使用 for 迴圈來遍歷 1 到 100 之間的數字。每次迴圈運行時,將目前的數字 i 累加到變數 total 上。
  • 最後,使用 print() 函數輸出總和。
題目 3: 迴圈 - 輸出乘法表

題目描述:寫一個程式,輸出 1 到 9 的乘法表。

解題思路

  1. 使用兩層巢狀迴圈,外層控制數字 1 到 9,內層負責計算並輸出每個數字的乘法結果。
  2. 每計算一行結果,就使用 print() 來輸出該行。

程式碼

for i in range(1, 10):
    for j in range(1, 10):
        print(f"{i} x {j} = {i*j}", end="\t")
    print()  # 換行

解題過程

  • 外層迴圈 i 控制數字 1 到 9,內層迴圈 j 負責計算每個 i 對應的乘法結果。
  • 使用 end="\t" 讓輸出結果不換行,並在每行結束後,使用 print() 進行換行。
題目 4: 遞迴 - 費氏數列

題目描述:實現一個函數,使用遞迴來計算費氏數列的第 n 項數字。

解題思路

  1. 定義一個遞迴函數 fibonacci(),當 n 小於等於 1 時直接返回 n
  2. 否則,返回前兩個數的和,即 fibonacci(n-1) + fibonacci(n-2)

程式碼

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

n = int(input("請輸入一個正整數: "))
print(f"費氏數列第 {n} 項是: {fibonacci(n)}")

解題過程

  • 定義遞迴函數 fibonacci(),該函數的基本情況是當 n 小於等於 1 時,直接返回 n
  • n 大於 1,則返回前兩項的和,通過遞迴不斷拆解問題,直到到達基本情況。
題目 5: 遞迴 - 階乘計算

題目描述:寫一個遞迴函數來計算正整數 n 的階乘(n!)。

解題思路

  1. 定義一個遞迴函數 factorial(),當 n 等於 1 時返回 1。
  2. 否則,返回 n * factorial(n-1)

程式碼

def factorial(n):
    if n == 1:
        return 1
    else:
        return n * factorial(n-1)

n = int(input("請輸入一個正整數: "))
print(f"{n} 的階乘是: {factorial(n)}")

解題過程

  • 定義遞迴函數 factorial(),基本情況是當 n 等於 1 時,返回 1。
  • 遞迴部分每次返回 n * factorial(n-1),直到遞迴到基本情況。

3. 結論

透過以上題目,我練習了 Python 中的基本輸入輸出操作、使用迴圈來執行重複操作,以及通過遞迴來解決分治問題。這些基本技巧是進一步學習更複雜程式設計的基礎,能夠幫助我更靈活地運用 Python 來解決各類問題。


上一篇
DAY1:建置Python開發環境
下一篇
Day 3: Python 字典的使用、物件導向與模組開發
系列文
Python探索之旅:從基礎到實踐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言