# Python 講義 - 第一章:入門 歡迎開始你的 Python 學習之旅!本章將引導你完成 Python 程式設計的基礎,從最簡單的 "Hello, World!" 到基本的程式結構,讓你能夠開始自己的程式設計。 ## 1.1 Hello World 在 Python 中,`print` 函數是最基本的輸出方法,用於將信息顯示在螢幕上。除了輸出簡單的字串外,`print` 函數還支持多種格式化選項,讓我們能夠以不同的方式顯示變數和字串。我們將介紹兩種常用的格式化方法:百分比(%)格式化和 `format` 方法。 ### 基本用法 ```python print("Hello, World!") ``` 這行代碼輸出了一個簡單的字串 `"Hello, World!"`。 ### print 參數格式化(%) 百分比(%)格式化方法是一種較舊但仍廣泛使用的字符串格式化方法。它允許你在字串中使用特定的格式指定符,然後通過 `%` 運算符將字串和變數結合起來。 #### 使用 %s 格式化文字 `%s` 用於格式化文字。它可以將一個文字變數插入到字串中的指定位置。 ```python name = "世界" print("Hello, %s!" % name) ``` 在這個範例中,`%s` 是一個格式指定符,用於表示一個字串,而 `% name` 則是將變數 `name` 的值插入到 `%s` 的位置。 #### 使用 %d 格式化整數 `%d` 用於格式化整數。它可以將一個整數變數插入到字串中的指定位置。 ```python age = 25 print("我今年 %d 歲。" % age) ``` 在這個範例中,`%d` 表示一個整數佔位符,`% age` 則將整數變數 `age` 的值插入到 `%d` 的位置。 #### 使用 %f 格式化浮點數 `%f` 用於格式化浮點數。它允許你將一個浮點數變數插入到字串中的指定位置。 ```python height = 175.5 print("我的身高是 %.1f 公分。" % height) ``` 在這個範例中,`%.1f` 指定了浮點數的格式化方式,其中 `.1` 表示小數點後保留一位,而 `f` 表示浮點數格式。因此,`175.5` 被格式化為 `175.5`。 #### 精確控制列印位置 使用 `%` 格式化時,你還可以控制列印的寬度和對齊方式,這對於輸出格式化的表格或報告特別有用。 ```python name = "John" score = 90.5 print("%-10s: %7.2f" % (name, score)) ``` 在這個範例中,`%-10s` 指定了一個字串的最小寬度為 10,並且字串將左對齊。`%7.2f` 指定了浮點數的最小寬度為 7(包括小數點和小數部分),並且小數點後保留兩位數字。這樣的格式化設置使得輸出在視覺上更加整齊,易於閱讀。 ### print 參數格式化(format) `format` 方法提供了一種更現代、更靈活的方式來格式化字串。它允許你在字串中插入特定的佔位符 `{}`,然後通過 `format` 方法提供相對應的值。 ```python name = "世界" print("Hello, {}!".format(name)) ``` 在這個範例中,`{}` 是一個佔位符,`format(name)` 將變數 `name` 的值插入到這個位置。`format` 方法的優點是它支持更複雜的格式化選項,並且比 `%` 格式化更易於閱讀和維護。 ### 進階格式化 `format` 方法還允許進行更進階的格式化操作,例如設定填充字符、對齊方式、數字格式等。 ```python number = 3.14159 print("格式化數字:{:.2f}".format(number)) ``` 在這個範例中,`:.2f` 指定了浮點數的格式化方式,其中 `.2` 表示小數點後保留兩位,而 `f` 表示浮點數格式。因此,`3.14159` 被格式化為 `3.14`。 ## 1.2 基本資料類型 Python 有幾種基本的資料類型,包括整數(Integers)、浮點數(Floats)、字串(Strings)和布林值(Booleans)。瞭解這些基本類型是學習 Python 的重要第一步。 - **整數** 是沒有小數部分的數字,例如 3 或 -42。 - **浮點數** 是有小數部分的數字,例如 3.14 或 -0.001。 - **字串** 是由字符組成的文本,例如 "Hello, World!"。 - **布林值** 代表真(True)或假(False)。 ```python= x = '1' #定義x為文字1 print(int(x)) #1 print(x) #1 print(float(x)) #1.0 print(bool(x)) #True ``` ## 1.3 程式輸入 在 Python 中我們使用 `input()` 函數來獲取用戶輸入。瞭解如何正確地從用戶那裏獲取和處理資訊是任何互動程式的基礎。 ### 使用 input() 獲取輸入 `input()` 函數允許程式暫停執行,等待用戶輸入一些文字。一旦用戶完成輸入並按下`Enter`鍵,`input()` 就會返回這些輸入的文字作為字串。 #### 基本用法 ```python x = input("請輸入一些文字:") print(f"你輸入的是:{x}") ##這裡的f是讓{}中可以放入變數,讓程式更整潔 ##也等於print("你輸入的是:"+x) ``` 在這個範例中,程式會提示用戶輸入一些文字,然後將這些文字儲存到變數 `x` 中,最後輸出這些文字。 #### 轉換輸入類型 通常,我們需要將用戶輸入的資料從字串轉換成其他類型,例如整數或浮點數,以便進行計算。 ```python x = int(input("請輸入一個整數:")) print(f"你輸入的整數是:{x}") ``` 在這個範例中,`input()` 函數獲取的輸入被轉換成了整數類型,這允許我們對其進行數學運算。 #### 處理多個輸入值 有時候,我們希望一次獲取多個由空格分隔的輸入值。我們可以使用 `split()` 方法來分割輸入的字串,然後使用 `map()` 函數將每個元素轉換成整數。 ```python x, y = map(int, input("請輸入兩個整數(用空格分隔):").split()) print(f"你輸入的兩個整數分別是:{x} 和 {y}") ``` #### 將輸入轉換為列表 如果我們需要從一行輸入中獲取多個數字,並將它們存儲為一個列表,我們可以結合使用 `input()`, `split()` 和 `map()`。 ```python x_list = list(map(int, input("請輸入數個整數(用空格分隔):").split())) print(f"你輸入的整數列表是:{x_list}") ``` 這些技巧非常有用,特別是當你在處理需要多個輸入或者需要對輸入進行特定類型轉換的情境時。熟悉這些方法將幫助你有效地收集和處理用戶輸入,從而讓你的 Python 程式更加互動和靈活。 ## 1.4 控制流程 控制流程允許你根據條件執行不同的代碼塊(如 if 條件語句)或重複執行某段代碼(如 for 和 while 迴圈)。 ### If 條件語句 ```python age = 20 if age >= 18: print("你是成年人。") else: print("你是未成年人。") ``` ### While 迴圈 ```python count = 1 while count <= 5: print(count) count += 1 ``` ## 1.5 簡單的猜數字遊戲 讓我們通過一個簡單的猜數字遊戲來實際運用這些概念。這個遊戲會隨機選擇一個1到10之間的數字,玩家需要猜出這個數字。 ```python import random target_num = random.randint(1, 10)#利用random函式取亂數(1~9之間) guess = None while guess != target_num:#當guess不等於target_num時執行以下內容 guess = int(input("猜一個1到10之間的數字:")) if guess < target_num: print("太低了!") elif guess > target_num: print("太高了!") else: print("恭喜你猜對了!") ``` ## 1.6 練習題目 1. **變數與資料類型**:創建不同類型的變數(整數、浮點數、字串、布林值),並透過 `print()`函數輸出它們。 2. **基本運算**:寫一個程式,計算並輸出任意兩個數字的和、差、乘積和商。 3. **控制流程**: - 寫一個程式,要求使用者輸入年齡,然後判斷並輸出該使用者是不是成年人。 - 寫一個程式,使用 `for` 迴圈輸出數字1到10。 希望這章節的內容能夠作為你學習 Python 的堅實基礎。隨著你的學習進展,不斷實踐並嘗試新的代碼將是非常有幫助的。祝你學習愉快!