Python 的基礎語法相當簡潔易懂,讓初學者能快速上手。利用 input() 函式讀取使用者輸入值後,可以進行各種運算處理,例如算術運算和字串操作。算術運算包含加、減、乘、除、模數和指數運算,可以直接套用在數值變數上。字串操作則包含建立、連線、查詢、提取、大小寫轉換等,Python 提供了豐富的內建函式和方法來處理字串。需要注意的是,Python 的字串是不可變的,任何修改字串的操作都會回傳一個新的字串物件。在處理不同資料型別時,例如將數字和字串連線,需要使用 str() 函式將數字轉換為字串,避免型別錯誤。同樣地,int()float() 函式可以將字串轉換為整數和浮點數,方便進行數值運算。條件判斷是程式流程控制的重要一環,ifelifelse 陳述式允許根據不同條件執行不同的程式碼區塊,實作更複雜的邏輯。

讀取使用者輸入

如果你想要讀取使用者輸入,可以使用 input() 函式(Python 3)或 raw_input() 函式(Python 2)。例如:

x = input("Enter Value: ")
print(x)

這將提示使用者輸入一個值,並將輸入的值儲存在 x 變數中。

內容解密:

上述程式碼中,input() 函式用於讀取使用者輸入。當使用者輸入一個值後,輸入的值將被儲存在 x 變數中。然後,print() 函式用於顯示 x 變數的值。

圖表翻譯:

  flowchart TD
    A[開始] --> B[讀取使用者輸入]
    B --> C[儲存輸入值]
    C --> D[顯示輸入值]

這個流程圖顯示了讀取使用者輸入、儲存輸入值和顯示輸入值的過程。

基本算術運算

Python是一種強大的程式語言,支援各種基本算術運算。這些運算可以使用運算子號來實作,例如加法(+)、減法(-)、乘法(*)和除法(/)。

基本算術運算子號

以下是Python中最常用的算術運算子號:

  • 加法:a + b
  • 減法:a - b
  • 乘法:a * b
  • 除法:a / b

範例:溫度轉換

假設我們想要將攝氏溫度轉換為華氏溫度。攝氏溫度轉換為華氏溫度的公式是:tempF = (tempC * 9) / 5 + 32。以下是使用Python實作這個公式的範例:

tempC = float(input("請輸入攝氏溫度:"))
tempF = (tempC * 9) / 5 + 32
print(f"{tempC} 攝氏溫度等於 {tempF} 華氏溫度")

其他算術運算子號

除了基本的四則運算之外,Python還支援其他一些算術運算子號,例如:

  • 模數(%):a % b,傳回a除以b的餘數。
  • 指數(**):a ** b,傳回ab次方。

範例:指數運算

以下是使用Python計算2的8次方的範例:

result = 2 ** 8
print(result)  # 輸出:256
內容解密:

以上程式碼展示瞭如何在Python中進行基本的算術運算,包括加、減、乘、除等。同時,也介紹瞭如何使用模數和指數運算子號。透過這些範例,可以瞭解Python的算術運算功能和語法。

圖表翻譯:

  graph LR
    A[輸入攝氏溫度] --> B[計算華氏溫度]
    B --> C[輸出華氏溫度]
    C --> D[結束]

以上圖表展示了攝氏溫度轉換為華氏溫度的流程。首先,輸入攝氏溫度,然後計算華氏溫度,最後輸出華氏溫度。這個流程可以透過Python程式碼來實作。

建立字串

問題 您想要建立一個字串變數,即包含文字的變數。

解決方案 使用指定運算子(=)和字串常數來建立新的字串。您可以使用雙引號或單引號來括住字串,但必須確保引號的匹配。例如:

s = "abc def"
print(s)  # 輸出:abc def

討論 如果您需要在字串中包含雙引號或單引號,請選擇不在字串內容中使用的引號型別作為字串的開始和結束標記。例如:

s = "Isn't it warm?"
print(s)  # 輸出:Isn't it warm?

有時,您需要在字串中包含特殊字元,例如 tab 或 newline。這需要使用特殊字元,稱為 escape 字元。要包含 tab,使用 \t,而 newline 使用 \n。例如:

s = "name\tage\nMatt\t14"
print(s)
# 輸出:
# name    age
# Matt    14

參考 如需完整的 escape 字元列表,請參考 Python 參考手冊。

連線(合併)字串

問題 您想要合併多個字串。

解決方案 使用 +(連線)運算子。 例如:

s1 = "abc"
s2 = "def"
s = s1 + s2
print(s)  # 輸出:abcdef

內容解密:

在上面的例子中,我們使用 + 運算子來連線兩個字串 s1s2,並將結果儲存到 s 中。這是一種簡單的方法,可以用於合併多個字串。

圖表翻譯:

  flowchart TD
    A[建立字串] --> B[使用指定運算子]
    B --> C[連線字串]
    C --> D[使用 + 運算子]
    D --> E[輸出結果]

圖表翻譯:

上面的流程圖示範了建立字串和連線字串的過程。首先,我們建立一個字串變數,然後使用指定運算子將值賦予它。接下來,我們使用 + 運算子來連線多個字串,最後輸出結果。

字串串接與型別轉換

在 Python 中,當您想要將不同型別的值(如字串和數字)進行串接時,會遇到一些限制。與其他語言不同,Python 不會自動將非字串型別的值轉換為字串。讓我們來探討這個問題和解決方案。

串接字串與數字

當您嘗試將字串和數字直接串接時,Python 會丟擲一個 TypeError,因為它無法隱式地將整數轉換為字串。以下是一個範例:

print("abc" + 23)

這會導致以下錯誤:

TypeError: Can't convert 'int' object to str implicitly

解決方案:使用 str() 函式進行轉換

為了避免這個問題,您需要使用 str() 函式將非字串值轉換為字串後,再進行串接。以下是正確的做法:

print("abc" + str(23))

這會輸出 'abc23'

將數字轉換為字串

如果您需要將數字轉換為字串,可以直接使用 str() 函式。例如:

number = 123
string_number = str(number)
print(string_number)  # 輸出: '123'

參考資訊

更多關於使用 str() 函式將數字轉換為字串的資訊,可以參考 5.11 節「將數字轉換為字串」。

圖表翻譯:

  flowchart TD
    A[開始] --> B[定義變數]
    B --> C[使用 str() 函式轉換]
    C --> D[串接字串]
    D --> E[輸出結果]

內容解密:

上述程式碼示範瞭如何使用 str() 函式將整數轉換為字串,以便與其他字串進行串接。這是一種常見的操作,尤其是在需要將資料轉換為特定格式以便顯示或儲存時。透過使用 str() 函式,您可以確保所有值都被正確地轉換為字串,從而避免型別不匹配的錯誤。

數字與字串之間的轉換

在程式設計中,數字和字串之間的轉換是非常常見的操作。有時候,我們需要將數字轉換為字串,以便能夠與其他字串進行拼接。

將數字轉換為字串

如果您想要將數字轉換為字串,可以使用Python的內建函式str()。以下是一個簡單的範例:

number = 123
string = str(number)
print(string)  # 輸出: "123"

將字串轉換為數字

相反,如果您想要將字串轉換為數字,可以使用Python的內建函式int()float(),具體取決於您想要轉換的數字型別。

轉換為整數

如果您想要將字串轉換為整數,可以使用int()函式。以下是一個簡單的範例:

string = "-123"
number = int(string)
print(number)  # 輸出: -123

轉換為浮點數

如果您想要將字串轉換為浮點數,可以使用float()函式。以下是一個簡單的範例:

string = "00123.45"
number = float(string)
print(number)  # 輸出: 123.45
內容解密:
  • str()函式可以將數字轉換為字串。
  • int()函式可以將字串轉換為整數。
  • float()函式可以將字串轉換為浮點數。
  • 在進行轉換時,需要注意數字和字串之間的差異,以避免出現錯誤。

圖表翻譯:

  flowchart TD
    A[數字] --> B[轉換為字串]
    B --> C[使用str()函式]
    C --> D[輸出字串]
    E[字串] --> F[轉換為整數]
    F --> G[使用int()函式]
    G --> H[輸出整數]
    I[字串] --> J[轉換為浮點數]
    J --> K[使用float()函式]
    K --> L[輸出浮點數]

這個流程圖展示了數字和字串之間的轉換過程,包括使用str()int()float()函式進行轉換。

數字轉換與字串長度

在 Python 中,intfloat 函式可以用於將字串轉換為整數和浮點數。這兩個函式都能夠正確處理前導零,並且對字串周圍的空白字元具有容忍度。

使用 int 函式進行基數轉換

int 函式還可以用於將以不同基數表示的字串轉換為整數。例如,以下程式碼將二進位制字串 “1001” 轉換為十進位制整數:

print(int("1001", 2))  # 輸出:9

類別似地,以下程式碼將十六進位制字串 “AFF0” 轉換為十進位制整數:

print(int("AFF0", 16))  # 輸出:45040

取得字串長度

要取得字串的長度,可以使用 len 函式。例如,以下程式碼取得字串 “abcdef” 的長度:

print(len("abcdef"))  # 輸出:6

內容解密:

  • int 函式可以用於將字串轉換為整數,並且支援不同基數的轉換。
  • len 函式可以用於取得字串的長度。
  • 這些函式在字串操作中非常有用,可以幫助您解決各種字串相關的問題。

圖表翻譯:

  flowchart TD
    A[字串轉換] --> B[int 函式]
    B --> C[基數轉換]
    C --> D[十進位制整數]
    A --> E[len 函式]
    E --> F[字串長度]

圖表說明:

  • 字串轉換可以使用 int 函式進行,支援不同基數的轉換。
  • len 函式可以用於取得字串的長度。
  • 這兩個函式在字串操作中非常有用,可以幫助您解決各種字串相關的問題。

字串操作:查詢和提取

在進行字串操作時,常常需要查詢某個子字串在母字串中的位置,或是提取出字串中的特定部分。Python 提供了多種方法來實作這些功能。

查詢子字串的位置

如果你需要找到一個子字串在另一個字串中的位置,可以使用 find() 方法。這個方法傳回子字串在母字串中第一次出現的位置索引,如果找不到則傳回 -1。

s = "abcdefghi"
print(s.find("def"))  # 輸出:3

需要注意的是,Python 中的索引是從 0 開始的,所以索引 3 實際上對應的是第 4 個字元。

提取字串的一部分

如果你想要從一個字串中提取出一部分,可以使用 Python 的 slice 記法 [:]。這個方法允許你指定起始和結束索引來提取出所需的子字串。

s = "abcdefghi"
print(s[1:5])  # 輸出:'bcde'

同樣地,索引是從 0 開始的,且結束索引是排他的,也就是說不包括結束索引所指的字元。因此,在上面的例子中,索引 1 到 5 實際上提取的是從第二個字元到第五個字元(不包括第六個字元)。

圖表翻譯:

  flowchart TD
    A[母字串] -->|find()|> B[子字串位置]
    A -->|slice|> C[提取子字串]
    B --> D{找到}
    B --> E{未找到}
    D --> F[傳回位置索引]
    E --> G[傳回-1]
    C --> H[傳回提取的子字串]

內容解密:

在上面的程式碼中,我們使用 find() 方法來查詢子字串 “def” 在母字串 “abcdefghi” 中的位置。然後,我們使用 slice 記法 s[1:5] 來提取出從第二個字元到第五個字元的子字串。這些方法都是 Python 中非常常用的字串操作技巧。

字串操作技巧

在進行字串操作時,瞭解如何正確地使用切片(slicing)和替換(replace)功能是非常重要的。以下將介紹這兩種功能的使用方法。

切片(Slicing)

切片是一種從字串中提取特定部分的方法。您可以使用 [:] 標記來進行切片,例如:

s = "abcdefghi"
print(s[:5])  # 輸出:'abcde'
print(s[3:])  # 輸出:'defghi'

在上述例子中,s[:5] 代表從字串開始到第 5 個字元(不含第 5 個字元),而 s[3:] 代表從第 3 個字元到字串結尾。

您也可以使用負數索引來從字串結尾開始計算。例如:

print("myfile.txt"[-3:])  # 輸出:'txt'

這個例子從字串結尾開始計算,提取最後 3 個字元。

替換(Replace)

替換是一種將字串中的某些字元或子字串替換為其他字元或子字串的方法。您可以使用 replace() 函式來進行替換,例如:

s = "It was the best of X. It was the worst of X"
print(s.replace("X", "times"))  # 輸出:'It was the best of times. It was the worst of times'

在上述例子中,replace() 函式將所有出現的 "X" 替換為 "times"

需要注意的是,替換操作是區分大小寫的,也就是說,如果您要替換的字串包含空格,則需要在替換字串中也包含空格。例如:

s = "Hello World"
print(s.replace("World", "Universe"))  # 輸出:'Hello Universe'

在這個例子中,replace() 函式將 "World" 替換為 "Universe",但如果您要替換的字串是 "world"(小寫),則需要在替換字串中也使用小寫。

字串大寫與小寫轉換

問題描述

您想要將字串中的所有字元轉換為大寫或小寫。

解決方案

使用 upper()lower() 函式,視需要轉換為大寫或小寫。 例如,將 "aBcDe" 轉換為大寫,可以使用以下方法:

"aBcDe".upper()  # 輸出: 'ABCDE'

要轉換為小寫,可以使用:

"aBcDe".lower()  # 輸出: 'abcde'

注意,即使 upper()lower() 不需要任何引數,它們仍需要在函式名稱後面加上 ()

討論

與大多數操縱字串的函式一樣,upper()lower() 不會修改原始字串,而是傳回修改過的字串副本。 例如,以下程式碼傳回字串 s 的副本,但請注意原始字串保持不變:

s = "aBcDe"
print(s.upper())  # 輸出: 'ABCDE'
print(s)  # 輸出: 'aBcDe' (原始字串未變)

這表明 upper()lower() 傳回新的字串,而不修改原始字串。

內容解密:

上述程式碼示範瞭如何使用 upper()lower() 函式將字串轉換為大寫或小寫。這些函式不會修改原始字串,而是傳回修改過的副本。這是一種安全的方式,可以在不改變原始資料的情況下進行字串轉換。

圖表翻譯:

  flowchart TD
    A[原始字串] --> B[upper() 或 lower()]
    B --> C[轉換後的字串]
    C --> D[傳回轉換後的字串]
    D --> E[原始字串保持不變]

上述流程圖示範了 upper()lower() 函式的工作流程。它們接受原始字串作為輸入,進行轉換,然後傳回轉換後的字串,而不修改原始字串。

條件式命令執行

在 Python 中,當您需要根據特定條件執行某些命令時,可以使用 if 陳述式。這個功能允許您控制程式的流程,根據條件的真偽決定是否執行某段程式碼。

基本語法

if 陳述式的基本語法如下:

if 條件:
    # 條件為真時執行的程式碼

其中,條件是一個布林值(Boolean)表示式,當它為 True 時,則執行 if 之下的程式碼。

範例

以下範例示範如何使用 if 來根據變數 x 的值決定是否印出一條訊息:

x = 101

if x > 100:
    print("x is big")

在這個範例中,因為 x 的值大於 100,所以 if 條件為真,程式會印出 "x is big"

多重條件

您也可以使用 elifelse 來處理多重條件:

x = 50

if x > 100:
    print("x is big")
elif x == 50:
    print("x is medium")
else:
    print("x is small")

在這個範例中,因為 x 的值為 50,所以會印出 "x is medium"

條件判斷與執行

在程式設計中,條件判斷是一個非常重要的概念。它允許我們根據特定條件執行不同的程式碼。最基本的條件判斷結構是 if 陳述式,它後面跟著一個條件。這個條件通常是比較兩個值並得出 TrueFalse 的結果。如果條件為 True,則接下來的縮排程式碼將被執行。

if 與 else 陳述式

當我們需要根據條件執行不同的動作時,可以使用 ifelse 陳述式。if 後面的條件如果為 True,則執行 if 下面的程式碼;如果為 False,則執行 else 下面的程式碼。以下是一個簡單的範例:

x = 101

if x > 100:
    print("x 是大數")
else:
    print("x 是小數")

print("這行程式碼總是會被執行")

多重條件判斷

除了 ifelse,我們還可以使用 elif(else if)來連結多個條件判斷。如果任何一個條件成立,其後面的程式碼將被執行,而後續的條件不再被檢查。以下是範例:

x = 90

if x > 100:
    print("x 是大數")
elif x < 10:
    print("x 是小數")
else:
    print("x 是中等數")

這個範例將輸出 “x 是中等數”。

比較運算

條件判斷中經常使用比較運算。比較運算可以用於比較兩個值之間的大小或相等關係。有關更多的比較運算型別,請參考其他相關文獻。

內容解密:

在上述程式碼中,ifelif 陳述式後面的條件是比較運算的結果。如果條件成立,則相關的程式碼將被執行。這些比較運算可以是大於、小於、等於等。透過使用 ifelifelse,我們可以根據不同的條件執行不同的程式碼,實作更複雜的邏輯控制。

圖表翻譯:

  flowchart TD
    A[開始] --> B{條件判斷}
    B -->|True| C[執行 if 程式碼]
    B -->|False| D{是否有 elif}
    D -->|Yes| E[執行 elif 程式碼]
    D -->|No| F[執行 else 程式碼]
    C --> G[結束]
    E --> G
    F --> G

這個流程圖展示了 ifelifelse 陳述式的執行流程,根據條件的真假值決定執行哪一塊程式碼。

Python 基礎操作總結:從輸入輸出到字串處理

從使用者輸入、基本算術運算到字串的建立、連線、轉換、查詢、提取、大小寫轉換以及條件判斷,本文涵蓋了 Python 的一系列基礎操作。這些操作構成了 Python 程式設計的根本,熟練掌握它們對於進一步學習和應用至關重要。

深入分析這些操作,我們可以發現 Python 語言設計的簡潔性和易用性。例如,使用 + 進行字串連線,使用 str()int()float() 進行型別轉換,以及使用切片和 replace() 進行字串操作,都體現了 Python 語言的直觀性和易讀性。然而,Python 的靈活性也帶來了一些需要注意的點,例如字串與數字連線時需要顯式型別轉換,這一點與一些其他語言不同,需要特別留意。

展望未來,隨著 Python 生態系統的持續發展,這些基礎操作將繼續扮演重要的角色。預計未來 Python 將更加註重程式碼的可讀性和 maintainability,因此,深入理解這些基礎操作並遵循最佳實踐將變得更加重要。對於初學者來說,掌握這些基礎操作是入門 Python 程式設計的第一步,而對於有經驗的開發者來說,重新審視這些基礎知識也有助於提升程式碼品質和效率。

對於想要進一步學習 Python 的開發者,建議深入研究 Python 的內建函式和資料結構,並探索更進階的程式設計技巧,例如物件導向程式設計、例外處理和多執行緒程式設計。 持續學習和實踐是精通 Python 程式設計的關鍵。玄貓認為,打好基礎,逐步深入,才能在 Python 的世界裡遊刃有餘。