Python的多重指定特性簡化了變數交換等操作,無需使用臨時變數。input() 函式能讀取使用者輸入,但需注意預設輸入型別為字串,必要時需轉換為數值型別。使用 format() 函式能有效格式化數字和字串輸出,提升程式碼可讀性。除了基本的浮點數格式化,format() 也支援科學記號、十六進位等格式,並可控制輸出寬度和對齊方式。Python 提供豐富的內建函式,例如數學函式 abs()max()min()pow()round(),以及 math 模組中的 ceil()floor()exp()log()sqrt() 等,方便進行數值計算。此外,ord()chr() 函式能處理字元及其 ASCII 碼,例如計算大小寫字母 ASCII 碼的差異。

Python 程式設計基礎

多重指定

Python 支援同時對多個變數進行指定。多重指定的語法如下: Var1, Var2, Var3, … = Exp1, Exp2, Exp3, … ExpN

在上述語法中,Python 同時評估右邊的所有表示式,並將它們指定給左邊的相應變數。

考慮以下陳述式來交換兩個變數 P 和 Q 的值。一般的交換方法是:

P = 20
Q = 30
Temp = P  # 將 P 的值儲存到 Temp
P = Q    # 將 Q 的值賦給 P
Q = Temp  # 將 Temp 的值賦給 Q

使用多重指定,可以簡化交換兩個數字的任務:

P, Q = Q, P  # 交換 P 和 Q 的值

完整的程式碼如下:

P = 20  # P 和 Q 的初始值
Q = 30
print(P)  # 輸出:20
print(Q)  # 輸出:30
P, Q = Q, P  # 交換 P 和 Q 的值
print(P)  # 輸出:30
print(Q)  # 輸出:20

內容解密:

  1. P, Q = Q, P 是多重指定的典型應用,Python 先評估右邊的表示式,然後同時指定給左邊的變數。
  2. 這種寫法簡潔且高效,避免了使用臨時變數的麻煩。
  3. 多重指定在需要交換變數值或同時更新多個變數時非常有用。

編寫簡單的 Python 程式

要計算矩形的面積,可以按照以下步驟編寫 Python 程式:

步驟一:設計演算法

演算法描述瞭解決問題所需的步驟和順序。例如,計算矩形面積的演算法如下:

  1. 取得矩形的長度和寬度。
  2. 使用公式計算面積:Area = Length * Breadth
  3. 輸出矩形的面積。

步驟二:將演算法轉換為程式碼

# 程式 2.3:計算矩形面積
Length = 10
breadth = 20
print('Length =', Length, 'Breadth =', breadth)
area = Length * breadth
print('Area of Rectangle is =', area)

輸出結果:

Length = 10 Breadth = 20
Area of Rectangle is = 200

內容解密:

  1. 程式中初始化了兩個變數 Lengthbreadth
  2. 使用 area = Length * breadth 計算矩形面積。
  3. print() 函式用於輸出變數的值和計算結果。

使用 input() 函式讀取使用者輸入

input() 函式用於從使用者那裡接受輸入。語法如下:

Variable_Name = input()

Variable_Name = input('提示字串')

範例程式 2.4:讀取字串

Str1 = input('Enter String1: ')
Str2 = input('Enter String2: ')
print('String1 =', Str1)
print('String2 =', Str2)

輸出結果:

Enter String1: Hello
Enter String2: Welcome to Python Programming
String1 = Hello
String2 = Welcome to Python Programming

內容解密:

  1. input() 用於讀取使用者輸入的字串。
  2. 輸入的值儲存在變數 Str1Str2 中。
  3. 使用 print() 輸出這些變數的值。

程式 2.5:輸入數字

print('Please Enter the Number:')
X = input()
print('Entered Number is:', X)
print('Type of X is:')
print(type(X))

內容解密:

  1. 即讓使用者輸入數字,input() 傳回的也是字串型別。
  2. 可以使用 type() 函式檢查變數的型別。
  3. 如果需要進行數值運算,需要將輸入的字串轉換為數字型別。

Python 程式設計基礎:使用者輸入處理

在 Python 程式設計中,處理使用者輸入是一項基本且重要的技能。Python 提供了多種方式來讀取和處理使用者輸入,包括 input()eval() 函式。

使用 input() 函式讀取使用者輸入

input() 函式用於讀取使用者的輸入,預設情況下,它將所有輸入視為字串。

程式範例 2.6:示範 input()int() 的使用

print('請輸入數字:')
Num1 = input()  # 從使用者取得輸入
print('Num1 = ', Num1)  # 列印 Num1 的值
print(type(Num1))  # 檢查 Num1 的型別
print('將 Num1 的型別轉換為 int')
Num1 = int(Num1)  # 將 Num1 的型別從 str 轉換為 int
print(Num1)  # 列印 Num1 的值
print(type(Num1))  # 檢查 Num1 的型別

內容解密:

  1. input() 函式讀取使用者的輸入,並將其儲存為字串。
  2. 使用 int() 函式將字串轉換為整數。
  3. type() 函式用於檢查變數的型別。

使用 int()float() 轉換輸入型別

為了處理不同型別的輸入,可以在 input() 前使用 int()float() 將輸入轉換為相應的型別。

程式範例 2.7:簡化版的整數輸入

Num1 = int(input('請輸入數字:'))
print('Num1 = ', Num1)  # 列印 Num1 的值
print(type(Num1))  # 檢查 Num1 的型別

內容解密:

  1. 直接在 input() 前使用 int() 將輸入轉換為整數。
  2. 省略了中間的型別轉換步驟,使程式碼更加簡潔。

使用 eval() 函式處理多種型別的輸入

eval() 函式可以評估一個字串作為 Python 表示式,並傳回相應的型別。

程式範例 2.10:使用 eval() 處理多種型別的輸入

Name = input('請輸入姓名:')
Age = eval(input('請輸入年齡:'))  # eval() 自動判斷輸入型別
Gender = input('請輸入性別:')
Height = eval(input('請輸入身高:'))  # eval() 自動判斷輸入型別
print('使用者詳細資訊如下:')
print('姓名:', Name)
print('年齡:', Age)
print('性別:', Gender)
print('身高:', Height)

內容解密:

  1. eval() 函式根據輸入自動判斷並轉換為適當的型別,如整數、浮點數等。
  2. 使用者無需指定輸入的型別,增加了程式的彈性。

Python 程式設計基礎:數字與字串格式化

在 Python 程式設計中,格式化數字和字串是使輸出更具可讀性和專業性的重要技術。本章節將探討如何使用 format() 函式來格式化數字和字串,使其符合特定的輸出需求。

使用 format() 函式格式化輸出

format() 函式是 Python 中用於格式化字串和數字的強大工具。它的基本語法是 format(item, format-specifier),其中 item 是要格式化的物件,可以是數字或字串,而 format-specifier 則是一個字串,指定了如何格式化 item

格式化浮點數

當需要格式化浮點數時,可以使用 width.precisionf 的格式。其中,width 指定了輸出的總寬度,precision 指定了小數點後的位數,而 f 則是浮點數的轉換碼。

# 格式化浮點數的範例
print(format(10.345, "10.2f"))  # 輸出:     10.35
print(format(10, "10.2f"))      # 輸出:     10.00
print(format(10.32245, "10.2f")) # 輸出:     10.32

對齊方式

預設情況下,數字是右對齊的。若要指定左對齊,可以在格式說明符中使用 < 符號。

# 對齊方式的範例
print(format(10.234566, "10.2f"))  # 右對齊,輸出:     10.23
print(format(10.234566, "<10.2f")) # 左對齊,輸出:10.23     

整數格式化

對於整數,可以使用 dx 作為轉換碼,分別表示十進位制和十六進位制輸出。

# 整數格式化的範例
print(format(20, "10x"))  # 十六進位制輸出,輸出:        14
print(format(20, "<10x")) # 左對齊十六進位制輸出,輸出:14        
print(format(1234, "10d")) # 十進位制輸出,輸出:      1234

字串格式化

字串可以使用 s 作為轉換碼進行格式化。預設情況下,字串是左對齊的。

# 字串格式化的範例
print(format("Hello World!", "25s"))  # 左對齊,輸出:Hello World!           
print(format("HELLO WORLD!", ">20s")) # 右對齊,輸出:       HELLO WORLD!

以百分比形式格式化

可以使用 % 作為轉換碼,將數字格式化為百分比形式。

# 百分比格式化的範例
print(format(0.31456, "10.2%")) # 輸出:    31.46%
print(format(3.1, "10.2%"))     # 輸出:   310.00%
print(format(1.765, "10.2%"))   # 輸出:   176.50%

程式範例:計算圓的面積並格式化輸出

下面是一個綜合範例,展示瞭如何計算圓的面積並使用 format() 函式格式化輸出結果。

# 計算圓的面積並格式化輸出的範例程式
radius = int(input('請輸入圓的半徑:'))
print('半徑 = ', radius)
PI = 3.1428
Area = PI * radius * radius
print('圓的面積是:', format(Area, '.2f'))

程式碼解密:

  1. radius = int(input('請輸入圓的半徑:')):此行程式碼提示使用者輸入圓的半徑,並將輸入的值轉換為整數後儲存在 radius 變數中。
  2. PI = 3.1428:定義圓周率的值為 3.1428。
  3. Area = PI * radius * radius:計算圓的面積,使用公式 ( \pi r^2 )。
  4. print('圓的面積是:', format(Area, '.2f')):輸出圓的面積,並使用 format() 函式將面積格式化為小數點後兩位。

本章節介紹了 Python 中使用 format() 函式進行數字和字串格式化的方法,並提供了多個範例來說明不同的格式化選項和技巧。透過這些知識,您可以使程式的輸出更加美觀和專業。

Python 程式設計基礎:科學記號格式化與內建函式詳解

在 Python 程式設計中,格式化浮點數是一個常見的需求。除了使用 f 轉換碼來格式化浮點數外,我們還可以使用 e 轉換碼將浮點數格式化為科學記號。

科學記號格式化

科學記號是一種用來表示非常大或非常小的數字的方法。在 Python 中,我們可以使用 format() 函式並指定 e 轉換碼來將浮點數格式化為科學記號。例如:

print(format(31.2345, "10.2e"))
print(format(131.2345, "10.2e"))

輸出結果分別為 3.12e+011.31e+02

內容解密:

  1. format() 函式用於格式化數字。
  2. "10.2e" 是格式規範,指定輸出寬度為 10,小數點後保留 2 位,並使用科學記號表示。
  3. e 轉換碼表示將數字格式化為科學記號。

常用的格式規範

下表列出了常用的格式規範:

規範格式
10.2f將浮點數格式化為寬度 10,小數點後保留 2 位。
<10.2f將浮點數左對齊,寬度 10,小數點後保留 2 位。
>10.2f將浮點數右對齊,寬度 10,小數點後保留 2 位。
10X將整數格式化為十六進位制,寬度 10。
20s將字串格式化為寬度 20。
10.2%將數字格式化為百分比,寬度 10,小數點後保留 2 位。

Python 的內建函式

Python 提供了一系列內建函式,可以用於執行各種任務。以下是一些常用的內建函式:

數學相關函式

函式描述範例
abs(x)傳回 x 的絕對值。abs(-2) 傳回 2
max(x1, x2, ..., xn)傳回 x1, x2, ..., xn 中的最大值。max(10, 20, 30) 傳回 30
min(x1, x2, ..., xn)傳回 x1, x2, ..., xn 中的最小值。min(10, 20, 30) 傳回 10
pow(x, y)傳回 xy 次方。pow(2, 3) 傳回 8
round(x)傳回最接近 x 的整數。round(10.34) 傳回 10round(10.89) 傳回 11

使用 math 模組的數學函式

要使用以下函式,需要先匯入 math 模組。

import math
函式範例描述
ceil(x)math.ceil(10.23) 傳回 11x 無條件進位到最接近的整數。
floor(x)math.floor(18.9) 傳回 18傳回不大於 x 的最大整數。
exp(x)math.exp(1) 傳回 2.718281828459045傳回 e 的 x 次方。
log(x)math.log(2.71828) 傳回接近 1 的值。傳回 x 的自然對數(以 e 為底)。
log(x, base)math.log(8, 2) 傳回 3.0傳回以指定底數的 x 的對數。
sqrt(x)math.sqrt(9) 傳回 3.0傳回 x 的平方根。

直角三角形斜邊計算範例

以下是一個計算直角三角形斜邊的程式範例:

import math

base = int(input('輸入直角三角形的底邊長度:'))
height = int(input('輸入直角三角形的高:'))

print('三角形資訊如下:')
print('底邊 =', base)
print('高 =', height)

hypotenuse = math.sqrt(base * base + height * height)
print('斜邊 =', hypotenuse)

內容解密:

  1. 程式首先匯入了必要的 math 模組,以便使用數學函式。
  2. 使用者被提示輸入直角三角形的底邊和高。
  3. 程式計算並顯示三角形的斜邊,使用公式 $\sqrt{base^2 + height^2}$。

ord 和 chr 函式

Python 中的內建函式還包括用於處理字元和其 ASCII 碼的函式,如下所示:

  • ord(ch):傳回字元的 ASCII 碼。
  • chr(code):傳回對應於給定 ASCII 碼的字元。

例如:

print(ord('A'))   # 輸出:65
print(chr(65))   # 輸出:'A'

程式範例:計算小寫字母和對應大寫字母的 ASCII 碼差異

char1 = 'b'
char2 = 'B'

print('字母\tASCII 值')
print(char1, '\t', ord(char1))
print(char2, '\t', ord(char2))

difference = ord(char1) - ord(char2)
print('ASCII 碼差異:', difference)

內容解密:

  1. 程式定義兩個字元變數,分別代表一個小寫字母和其對應的大寫字母。
  2. 使用 ord() 函式取得這些字母的 ASCII 碼,並計算它們之間的差異。
  3. 最後,列印出結果,展示小寫字母和大寫字母 ASCII 碼之間的差異。

綜上所述,本章節介紹了 Python 中有關科學記號的格式化、內建數學函式的使用,以及如何利用這些功能進行實際的程式設計。同時,也探討瞭如何操作字元和其 ASCII 碼,以進一步豐富 Python 程式設計的能力。