Tải bản đầy đủ (.pdf) (140 trang)

Python all in one Nhữ Duy Thìn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.73 MB, 140 trang )

Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Hướng dẫn học lập trình Python
Từ cơ bản đến nâng cao
Tập 1
Tác giả: Nhữ Duy Thìn
Đăng: 2023-10-20


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Lời nói đầu (Đừng bỏ qua nó trước khi bạn học kiến thức trong cuốn sách nhé)
Chào mừng bạn đến với cuốn sách “Hướng dẫn học lập trình Python từ cơ bản đến nâng cao”.
Đây không chỉ là một cuốn sách, mà là một hành trình khám phá vẻ đẹp và sức mạnh của ngơn ngữ
lập trình Python.
Python khơng chỉ là một ngơn ngữ, nó là một cánh cửa mở ra vơ số cơ hội. Từ phân tích dữ liệu,
trí tuệ nhân tạo đến phát triển ứng dụng web và nhiều lĩnh vực khác nữa, Python đã trở thành ngôn
ngữ lập trình đa năng và phổ biến trên tồn thế giới.
Cuốn sách này sẽ dẫn dắt bạn qua từng bước đi của việc học lập trình Python. Bắt đầu từ những
khái niệm cơ bản như biến, điều kiện và vòng lặp, mình sẽ dần dần tiến vào những chủ đề sâu hơn
như hướng đối tượng, xử lý ngoại lệ, và thậm chí cả những khái niệm nâng cao như decorators và
generators.
Mình tin rằng việc học lập trình khơng chỉ là việc nắm vững ngơn ngữ mà cịn là việc hiểu rõ về
cách tiếp cận vấn đề và giải quyết nó một cách hiệu quả. Đó chính là lý do tại sao mình khơng chỉ tập
trung vào cú pháp của Python, mà cịn đưa ra các ví dụ thực tế và bài tập giúp bạn ứng dụng kiến
thức vào thực tế.
Dù bạn là một người mới bắt đầu hay đã có kinh nghiệm trong lập trình, cuốn sách này đều mang
đến giá trị cho mọi người. Hy vọng rằng sau khi học hết kiến thức trong cuốn sách, bạn sẽ không chỉ


trở thành một lập trình viên Python giỏi mà cịn có khả năng sáng tạo và giải quyết các vấn đề phức
tạp.
Mình rất mong được chung tay cùng bạn trên hành trình này và hy vọng cuốn sách sẽ mang lại
những tri thức hữu ích và động lực để bạn tiếp tục phát triển kỹ năng lập trình.
Chúc bạn may mắn và hãy bắt đầu hành trình này với niềm đam mê và tinh thần khao khát học
hỏi!
Cuốn sách này là cuốn sách thứ 3 mình viết về lập trình với mục đích ban đầu dành tặng cho các
bạn học trị của mình. Nhưng nay cuốn sách này cũng đánh dấu một kỉ niệm trong quá trình làm IT
của mình, thấu hiểu nỗi buồn của các bạn làm IT nhưng ngoại ngữ chưa tốt, tìm hiểu kiến thức hơi
lâu một chút nên mình đã đăng link sách cơng khai cho tất cả các bạn cùng tham khảo và học tập
nhé!
Sau khi đọc xong cuốn sách này nếu bạn thấy nó hữu ích và nếu muốn thì bạn có thể mời mình
một ly cà café nhé. Cảm ơn sự yêu mến từ các bạn dành tặng cho mình.


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Mời Thinnd ly café (Nếu bạn muốn)

Ngân hàng: VPBank
Số tài khoản: 189093907
Chủ tài khoản: Nhu Duy Thin

Youtube: />Facebook: />LinkedIn: />

Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Mục lục
I.


Kiến thức cơ bản .....................................................................................................................................1
1. Chương trình ...........................................................................................................................................1
2. Cách chạy chương trình ..........................................................................................................................1
3. Chương trình đầu tiên ............................................................................................................................2
4. Giá trị và kiểu dữ liệu ..............................................................................................................................3
5. Biến ..........................................................................................................................................................6
6. Toán tử.....................................................................................................................................................7
❖ Bài tập luyện tập................................................................................................................................... 11

II.

Công cụ điều khiển luồng (More Control Flow Tools) ......................................................................... 13
1. Nhập/xuất (String Input) ...................................................................................................................... 13
2. Câu lệnh điều kiện if … else (if statements) ........................................................................................ 13
❖ Bài tập luyện tập .............................................................................................................................. 15
3. Vòng lặp ................................................................................................................................................ 21
❖ Bài tập luyện tập .............................................................................................................................. 28
4. Câu lệnh Match (Match Statements) ................................................................................................... 34
5. Hàm ....................................................................................................................................................... 37
a. Cơ bản về hàm ................................................................................................................................. 37
b. Hàm vô danh (Lambda functions) ................................................................................................... 39
c. Function Annotations ...................................................................................................................... 41
❖ Bài tập luyện tập .............................................................................................................................. 43

III.

Cấu trúc dữ liệu cơ bản (Data Structures) ........................................................................................... 46
1. List (Danh sách) .................................................................................................................................... 46
❖ Bài tập luyện tập .............................................................................................................................. 55
2. Tuple (Bộ).............................................................................................................................................. 58

❖ Bài tập luyện tập .............................................................................................................................. 60
3. Dictionary (Từ điển) ............................................................................................................................. 61
❖ Bài tập luyện tập .............................................................................................................................. 65
4. Set (Tập hợp) ........................................................................................................................................ 66
❖ Bài tập luyện tập .............................................................................................................................. 69
5. String (Chuỗi) ........................................................................................................................................ 70
❖ Bài tập luyện tập .............................................................................................................................. 72

IV.

Modules ................................................................................................................................................ 73
1. Cơ bản về modules ............................................................................................................................... 73


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –
2. Namespace và Alias.............................................................................................................................. 74
3. Import các thành phần cụ thể .............................................................................................................. 75
4. Tìm kiếm và quản lý module ................................................................................................................ 75
5. Packages ............................................................................................................................................... 75
V.

Lỗi và ngoại lệ (Errors and Exceptions) ................................................................................................ 77
1. Lỗi cú pháp............................................................................................................................................ 77
2. Lỗi thực thi............................................................................................................................................ 77
3. Ngoại lệ ................................................................................................................................................. 77
4. Xử lý ngoại lệ ........................................................................................................................................ 78
5. Đưa ra ngoại lệ ..................................................................................................................................... 79
6. Ngoại lệ do người dùng xác định ......................................................................................................... 80

VI.


Lớp (Class) ............................................................................................................................................ 80
A. Phần 1: Cơ bản về lớp .......................................................................................................................... 80
1. Giới thiệu về lớp đối tượng (Object Class) ..................................................................................... 80
2. Khai báo lớp (Class Definition) ........................................................................................................ 82
3. Thuộc tính và phương thức............................................................................................................. 83
4. Hàm khởi tạo và self trong Python ................................................................................................. 87
5. Truy cập và thay đổi thuộc tính của đối tượng............................................................................... 89
6. Phương thức getter và setter .......................................................................................................... 90
B. Phần 2: Kế thừa và đa hình .................................................................................................................. 90
1. Kế thừa trong Python ...................................................................................................................... 90
2. Ghi đè phương thức, thuộc tính ..................................................................................................... 93
3. Sử dụng super() để gọi phương thức của lớp cha.......................................................................... 95
4. Đa kế thừa trong Python ................................................................................................................. 97
5. Đa hình ............................................................................................................................................. 98
6. Interface, Abstract Base Class (ABC) và phương thức trừu tượng .............................................. 101
C. Phần 3: Đóng gói và bảo vệ dữ liệu ................................................................................................... 102
1. Đóng gói dữ liệu trong Python ...................................................................................................... 103
2. Phạm vi biến trong lớp .................................................................................................................. 103
3. Thuộc tính riêng tư, bảo vệ và cơng khai ...................................................................................... 105
4. Decorator @property và @classmethod ...................................................................................... 107
D. Phần 4: Liên kết và quản lý đối tượng ............................................................................................... 109
1. Quản lý bộ nhớ và garbage collection........................................................................................... 109
2. Liên kết đối tượng trong Python ................................................................................................... 110


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –
3. Mối quan hệ "has-a" và "is-a" ....................................................................................................... 112
4. Đối tượng và tham chiếu............................................................................................................... 114
E. Phần 5: Mở rộng khái niệm và hiểu biết về lớp ................................................................................ 115

1. Mixin và multiple inheritance ....................................................................................................... 115
2. Decorator và hướng đối tượng ..................................................................................................... 117
3. Singleton và Factory pattern.......................................................................................................... 118
❖ Bài tập luyện tập................................................................................................................................. 120
VII.

Làm việc với File ................................................................................................................................. 125
1. Mở tập tin........................................................................................................................................... 125
2. Đọc nội dung của tập tin .................................................................................................................... 126
3. Ghi vào tập tin .................................................................................................................................... 126
4. Đóng tập tin ........................................................................................................................................ 126
5. Sử dụng context managers ................................................................................................................ 127
6. Xử lý tập tin nhị phân ......................................................................................................................... 127
7. Kiểm tra sự tồn tại của tập tin ........................................................................................................... 127
❖ Bài tập luyện tập................................................................................................................................. 128

Phụ lục ............................................................................................................................................................ 129
1. Quy tắc đặt tên biến ........................................................................................................................... 129
2. Ép kiểu (Type Casting) trong Python .................................................................................................. 130
3. Comment trong Python...................................................................................................................... 132
Tình cảm dành cho Thinnd ............................................................................................................................ 133


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Hướng dẫn lập trình python từ cơ bản đến nâng cao
I.

Kiến thức cơ bản
1. Chương trình

Chương trình là một chuỗi các hướng dẫn xác định cách thực hiện tính tốn.
Phép tính này có thể mang tính chất tốn học, chẳng hạn như giải một hệ phương
trình hoặc tìm nghiệm của một đa thức, nhưng cũng có thể là một phép tính mang
tính biểu tượng, chẳng hạn như tìm kiếm và thay thế văn bản trong tài liệu hoặc đồ
họa nào đó, như xử lý một hình ảnh hoặc chơi trị chơi, một video...
Các chi tiết trông khác nhau ở các ngơn ngữ khác nhau nhưng có một số hướng
dẫn cơ bản xuất hiện ở tất cả các ngơn ngữ:
• input: Nhận dữ liệu từ bàn phím, tệp, mạng hoặc một số thiết bị khác.
• output: Hiển thị dữ liệu trên màn hình, lưu vào file, gửi qua mạng,…
• math: Thực hiện các phép tốn cơ bản như cộng và nhân.
• conditional execution: Kiểm tra các điều kiện nhất định và chạy mã thích hợp.
• repetition: Thực hiện một số hành động lặp đi lặp lại, thường có một số biến thể.
2. Cách chạy chương trình
• Cài đặt Python và các phần mềm liên quan
-

Lên trình duyệt tìm kiếm: “Download python”.

-

Tải phần mềm cài đặt tương thích với máy tính.

-

Có thể cài đặt thêm Environment variables

• Chạy python trên các trang web cung cấp nền tảng cho phép chạy chương trình
python
 Gợi ý: Nên cài đặt python trên máy
Trình thơng dịch python (interpreter) là một chương trình đọc và thực thi mã

Python:

1


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

`>>>` Dấu nhắc python.
 Tổng quát cách chạy chương trình
 Chạy trên mơi trường dịng lệnh
✓ Trên Windows: Tìm và mở "Command Prompt" hoặc "Powershell".
✓ Trên macOS: Mở "Terminal".
✓ Trên Linux: Mở "Terminal" hoặc "Console".
 Tạo file chương trình (Lưu trữ code – đuôi file .py)
✓ Tạo file lưu trữ chương trình (file code)
✓ Tìm đến địa chỉ lưu trữ file
✓ Sử dụng lệnh cd (change directory) để di chuyển đến thư mục chứa tệp
tin Python.
Ví dụ, nếu tệp tin của bạn nằm trong thư mục "Documents" và tên tệp tin
là my_program.py, bạn có thể sử dụng lệnh:

✓ Sử dụng lệnh python hoặc python3 (tùy thuộc vào cài đặt của bạn) và chỉ
định tên của tệp tin Python mà bạn muốn chạy.
Ví dụ:

 Chương trình Python của bạn sẽ được thực thi và kết quả sẽ được hiển
thị trong cửa sổ dịng lệnh.
3. Chương trình đầu tiên
“Hello World” – Một cụm từ rất thân quen đối với các lập trình viên.
2



Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Để hiển thị thơng tin lên màn hình sử dụng câu lệnh:

Ví dụ:

4. Giá trị và kiểu dữ liệu
• Giá trị:
Giá trị là một trong những thành phần cơ bản mà chương trình làm việc, chẳng
hạn như một chữ cái hoặc một số.
• Kiểu dữ liệu:
Cách kiểm tra kiểu dữ liệu:

Một số kiểu dữ liệu:
✓ Số nguyên (Integer): Là kiểu dữ liệu dùng để lưu trữ các số nguyên.

3


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

✓ Số thực (Float): Là kiểu dữ liệu dùng để lưu trữ các số có dấu phẩy động.

✓ Chuỗi (String): Là kiểu dữ liệu dùng để lưu trữ chuỗi các ký tự. Chuỗi được
bao quanh bởi dấu nháy đơn (') hoặc dấu nháy kép (").

✓ Danh sách (List): Là kiểu dữ liệu dùng để lưu trữ một tập hợp các phần tử có
thứ tự. Danh sách được bao quanh bởi dấu ngoặc vuông [].


✓ Từ điển (Dictionary): Là kiểu dữ liệu dùng để lưu trữ các cặp key-value. Mỗi
phần tử trong từ điển có một key duy nhất và giá trị tương ứng. Từ điển được
bao quanh bởi dấu ngoặc nhọn {}.

4


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

✓ Tập hợp (Set): Đây là kiểu dữ liệu dùng để lưu trữ một tập hợp các phần tử
khơng có thứ tự, không chứa các phần tử trùng lặp. Tập hợp được bao quanh
bởi dấu ngoặc nhọn {}.

✓ Bool (Boolean): Đây là kiểu dữ liệu chỉ có hai giá trị có thể: True hoặc False.
Thường được sử dụng trong các biểu thức điều kiện.

✓ NoneType (None): Đây là kiểu dữ liệu duy nhất có một giá trị duy nhất None.
Thường được sử dụng để biểu thị sự vắng mặt hoặc khơng có giá trị.

✓ Tuple: Đây là kiểu dữ liệu dùng để lưu trữ một tập hợp các phần tử có thứ
tự, nhưng khơng thể thay đổi (immutable). Tuple được bao quanh bởi dấu
ngoặc tròn ().

✓ Biểu đồ (Graphs): Đây là kiểu dữ liệu không phải là một kiểu dữ liệu cơ bản
trong Python, mà là một cấu trúc dữ liệu có thể được triển khai sử dụng danh
sách và từ điển.

5



Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

5. Biến
Biến (variable) là một vị trí lưu trữ dùng để lưu trữ các giá trị dữ liệu. Mỗi biến
có một tên duy nhất để bạn có thể truy cập và thao tác dữ liệu đó. Biến có thể chứa
các loại dữ liệu khác nhau như số nguyên (integer), số thực (float), chuỗi (string),
danh sách (list), và nhiều loại dữ liệu khác.
Cú pháp khai báo biến:

• Mở rộng: Các cách hiển thị giá trị:
Có nhiều cách để in ra giá trị, phụ thuộc vào mục đích của bạn và nơi bạn
muốn hiển thị kết quả. Dưới đây là một số cách phổ biến:
✓ Sử dụng hàm print():

✓ Sử dụng định dạng f-string (Python 3.6+):

✓ Sử dụng định dạng % (đã lỗi thời nhưng vẫn hoạt động):

✓ Sử dụng hàm format():

✓ Sử dụng dấu phẩy để in nhiều giá trị cùng một lúc:
6


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

✓ In nhiều dòng:

✓ Sử dụng end trong print() để điều khiển kí tự kết thúc:


✓ Sử dụng hàm sys.stdout.write():

6. Tốn tử
a. Tốn tử số học
Tốn tử

Giải thích

Ví dụ

+

Tốn tử cộng

1+1=2

-

Toán tử trừ

1–1=0

*

Toán tử nhân (a * b = a.b = a x b)

2*3=6

/


Toán tử chia (a / b = a : b = )

3 / 4 = 0.75

%

Toán tử chia lấy phần dư

6%5=1

𝑎
𝑏

7


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

//

Tốn tử chia làm trịn xuống

5 // 2 = 2

**

Tốn tử mũ (a**b = ab)

3**5 = 234


b. Toán tử quan hệ
Tốn tử

Giải thích

Ví dụ

So sánh bằng
==

Cho a và b:

5 == 5 # True

Nếu a bằng b trả về True

-3 == 4 # False

Nếu a không bằng b trả về False
So sánh khác nhau
!=

Cho a và b:

5 == 5 # False

Nếu a khác b trả về True

-3 == 4 # True


Nếu a không khác b trả về False
So sánh nhỏ hơn
<

Cho a và b. Xét a < b

2 < 3 # True

Nếu a nhỏ hơn b trả về True

4 < 2 # False

Nếu a lớn hơn hoặc bằng b trả về False
So sánh nhỏ hơn hoặc bằng
<=

Cho a và b. Xét a <= b
Nếu a nhỏ hơn hoặc bằng b trả về True
Nếu a lớn hơn trả về False

2 <= 3 # True
3 <= 3 # True
5 <= 4 # False

So sánh lớn hơn
>

Cho a và b. Xét a > b


4 > 3 # True

Nếu a lớn hơn b trả về True

4 > 7 # False

Nếu a nhỏ hơn hoặc bằng b trả về False
So sánh lớn hơn hoặc bằng
>=

Cho a và b. Xét a >= b
Nếu a lớn hơn hoặc bằng b trả về True
Nếu a nhỏ hơn trả về False

5 >= 4 # True
3 >= 3 # True
2 2 >= 3 # False

8


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

c. Tốn tử logic
Tốn tử
and

or

not


Giải thích

Ví dụ

Trả về True nếu cả hai biểu thức đều là True,
ngược lại sẽ trả về False

b = False
a and b # False

Trả về True nếu ít nhất một trong hai biểu thức
là True, ngược lại sẽ trả về False

a = True

a = True
b = False
a or b # True

Đây là dạng phủ định, nếu biểu thức là True thì a = True
nó sẽ trả về là False và ngược lại

not a # False

Trả về True nếu chỉ một trong hai biểu thức là a = True
xor (^)

True, và False nếu cả hai hoặc không có biểu b = False
thức nào là True


a ^ b # True

d. Tốn tử khai thác
Tốn tử

Giải thích

Ví dụ
a = "ABCDEF"

in

Trả về True nếu cả hai biểu thức đều là True,
ngược lại sẽ trả về False

b = "C"
b in a # True
c = "G"
c in a # False
a = "ABCDEF"

not in

Trả về True nếu ít nhất một trong hai biểu
thức là True, ngược lại sẽ trả về False

b = "C"
b not in a # False
c = "G"

c not in a # True

e. Tốn tử xác thực
Tốn tử

Giải thích

Ví dụ

Tốn tử is trong Dưới đây là một ví dụ để minh họa:
is

Python được sử a = [1, 2, 3]
dụng để kiểm tra b = a
xem hai đối tượng print(a is b) # True
9


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

có trỏ đến cùng Ở đây, a và b cùng trỏ đến cùng một danh
một vị trí bộ nhớ sách trong bộ nhớ. Vì vậy, kết quả của biểu
hay khơng. Nếu hai thức a is b là True.
biến sử dụng toán Tuy nhiên, nếu tạo ra một danh sách mới với
tử is đều trỏ đến cùng nội dung nhưng không phải cùng một
cùng một địa chỉ bộ đối tượng, thì kết quả sẽ là False:
nhớ, thì kết quả sẽ a = [1, 2, 3]
là True.

b = [1, 2, 3]

print(a is b) # False
Ở đây, a và b đều trỏ đến các danh sách khác
nhau trong bộ nhớ, nên kết quả của biểu thức
a is b là False.
Lưu ý rằng toán tử is so sánh cả về bộ nhớ,
trong khi == so sánh giá trị. Do đó, a is b và a
== b có thể cho kết quả khác nhau

not is

Ngược lại của is

Ngược lại của is

f. Toán tử gán
Toán tử
=
+=
-=
*=
/=
%=
//=

Giải thích

Ví dụ

Tốn tử này dùng để gán giá trị của a = 5
một đối tượng cho một giá trị

Toán tử này cộng rồi gắn giá trị cho
đối tượng
Toán tử này trừ rồi gắn giá trị cho đối
tượng
Toán tử này nhân rồi gắn giá trị cho
đối tượng
Toán tử này chia rồi gắn giá trị cho đối
tượng
Toán tử này chia hết rồi gắn giá trị cho
đối tượng
Tốn tử này chia làm trịn rồi gắn giá
trị cho đối tượng

c=a↔c=5
c += a ↔ c = c + a
c -= a ↔ c = c - a
c *= a ↔ c = c * a
c /= a ↔ c = c / a
c %= a ↔ c = c % a
c //= a ↔ c = c // a
10


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Toán tử này lũy thừa rồi gắn giá trị

**=

cho đối tượng


c **= a ↔ c = c ** a

❖ Bài tập luyện tập
(Áp dụng kiến thức chọn một hoặc nhiều đáp án chính xác nhất)

 Bài tập 1: Khi muốn chạy một chương trình Python, bạn sử dụng lệnh nào?
a) python run program.py
b) python3 program.py
c) run program.py
d) execute program.py
 Bài tập 2: Trong Python, biến có thể lưu trữ loại dữ liệu nào sau đây?
a) int, float, str
b) int, float, str, list
c) int, float, str, list, bool
d) int, float, str, list, bool, tuple
 Bài tập 3: Để khai báo một biến trong Python, bạn sử dụng cú pháp nào sau
đây?
a) var_name = value
b) variable_name = value
c) varName = value
d) variableName = value
 Bài tập 4: Kiểu dữ liệu nào sau đây không tồn tại trong Python?
a) long
b) complex
c) string
d) character
 Bài tập 5: Đâu là cách để kiểm tra kiểu dữ liệu của một biến trong Python?
11



Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

a) type(var)
b) typeof(var)
c) var.type()
d) var_typeof()
 Bài tập 6: Toán tử "+" được sử dụng cho mục đích gì trong Python?
a) Cộng hai số
b) Nối chuỗi
c) Lấy phần nguyên của một số
d) Nhân hai số
 Bài tập 7: Trong Python, toán tử "**" thực hiện phép tốn gì?
a) Cộng hai số
b) Nhân hai số
c) Lũy thừa
d) Chia hai số
 Bài tập 8: Cú pháp nào sau đây dùng để nhận đầu vào từ người dùng trong
Python?
a) input()
b) get_input()
c) user_input()
d) get()
 Bài tập 9: Trong Python, cách nào sau đây được sử dụng để tạo một chuỗi nhiều
dòng?
a) "This is a multi-line string"
b) 'This is a multi-line string'
c) """This is a multi-line string"""
d) '''This is a multi-line string'''
 Bài tập 10: Đâu là cú pháp đúng để in ra một chuỗi trong Python?

12


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

a) print("Hello, World!")
b) echo("Hello, World!")
c) display("Hello, World!")
d) show("Hello, World!")
II.

Công cụ điều khiển luồng (More Control Flow Tools)
1. Nhập/xuất (String Input)
Để nhập thơng tin từ bàn phím ta có thể sử dụng cú pháp sau:

Ví dụ:

2. Câu lệnh điều kiện if … else (if statements)
Câu lệnh điều kiện if trong lập trình là một cấu trúc quyết định, cho phép
chương trình thực hiện một hành động nào đó dựa trên một điều kiện được đưa
ra. Nếu điều kiện đúng, hành động sẽ được thực hiện; ngược lại, nếu điều kiện sai,
hành động đó sẽ khơng được thực hiện.
• Câu lệnh if
Cú pháp của câu lệnh if trong nhiều ngôn ngữ lập trình khá tương tự nhau.
Trong Python cú pháp được biểu diễn như sau:

 Giải thích:
13



Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

✓ condition (điều_kiện): Là một biểu thức hoặc giá trị có thể đánh giá
thành True hoặc False. Nếu điều_kiện đúng (True), khối mã bên trong if
sẽ được thực thi.
✓ Khối mã bên trong if được thụt lề (indentation). Đây là điều quan trọng
trong Python, vì nó xác định phạm vi của câu lệnh điều kiện.
Ví dụ:

• Câu lệnh if-else
Cú pháp:

 Giải thích:
✓ Sau if, bạn có một khối mã được thực thi nếu điều_kiện đúng.
✓ Sau else, bạn có một khối mã được thực thi nếu điều_kiện sai.
Ví dụ:

• Câu lệnh if-elif-else
Cú pháp:

14


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

 Giải thích:
✓ elif là một viết tắt của "else if". Nó cho phép bạn kiểm tra nhiều điều
kiện liên tiếp.
✓ Các điều kiện sẽ được kiểm tra theo thứ tự từ trên xuống. Nếu một điều
kiện đúng, khối mã bên trong sẽ được thực thi và sau đó chương trình

sẽ thốt khỏi câu lệnh điều kiện.
Ví dụ:

❖ Bài tập luyện tập
Bài tập 1: Kiểm tra số âm dương
Viết một chương trình yêu cầu người dùng nhập một số. Sau đó, kiểm tra xem
số đó có phải là số dương, số âm, hay bằng không. In kết quả ra màn hình.
 Lời giải:

15


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Bài tập 2: Tìm số lớn nhất
Viết chương trình yêu cầu người dùng nhập ba số. Sau đó, tìm và in ra số lớn
nhất.
 Lời giải:
£1: Áp dụng hướng giải thuần túy

£2: Áp dụng hàm max() có sẵn trong python

16


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Bài tập 3: Đánh giá điểm số
Viết chương trình yêu cầu người dùng nhập điểm số từ 0 đến 100. Dựa trên điểm
số, in ra xếp loại tương ứng (A, B, C, D hoặc F).

Loại A: điểm số lớn hơn hoặc bằng 90 điểm
Loại B: điểm thuộc [80, 90) điểm
Loại C: điểm thuộc [70, 80) điểm
Loại D: điểm thuộc [60, 70) điểm
Loại F: điểm số nhỏ hơn 60 điểm
 Lời giải:

 Tác giả: Đoạn code lời giải mẫu trên còn thiếu một phần xử lý. Bạn hãy kiểm
tra xem thiếu vấn đề gì mà mình chưa xử lý và thêm đoạn code của bạn vào
để giải quyết vấn đề nhé! Ngoài ra đoạn code vẫn chưa tối ưu đâu nha. Cịn
có cách sử dụng if elif tối ưu hơn đó. Các bạn suy nghĩ xem làm như thế nào
nhé!
Bài tập 4: Phân loại tam giác
Viết chương trình yêu cầu người dùng nhập độ dài ba cạnh của tam giác. Dựa
vào các độ dài này, phân loại tam giác thành tam giác cân, tam giác đều, tam giác
vuông, hoặc tam giác thường.
 Lời giải:

17


Anh giáo code dạo: Nhữ Duy Thìn – 0353326116 –

Bài tập 5: Kiểm tra số chẵn lẻ
Viết chương trình yêu cầu người dùng nhập một số nguyên. Sau đó, kiểm tra xem
số đó có phải là số chẵn hay số lẻ và in kết quả ra màn hình.
 Lời giải:

Bài tập 6: Giải phương trình bậc nhất
Viết chương trình giải phương trình bậc nhất ax + b = 0, với a và b là các số thực

được người dùng nhập vào.
 Lời giải:

18


×