1. Giới thiệu: Khi nào cần if/else?
Tình huống thực tế: Trong quản trị mạng, chúng ta cần chương trình tự động kiểm tra:
Nếu ping thành công → thông báo “Server hoạt động”.
Ngược lại → thông báo “Kiểm tra kết nối”.
Khái niệm: if/else là công cụ giúp chương trình đưa ra quyết định và chọn một trong các lộ trình thực hiện dựa trên một điều kiện đúng hay sai.
2. Toán tử So sánh (So sánh logic)
Đây là công cụ để kiểm tra điều kiện. Kết quả của phép so sánh luôn là Đúng (True) hoặc Sai (False).
| Toán tử | Ý nghĩa | Ví dụ | Kết quả |
| == | Bằng (Lưu ý 2 dấu bằng) | 10 == 10 | True |
| != | Khác | 5 != 10 | True |
| > | Lớn hơn | 20 > 15 | True |
| < | Nhỏ hơn | 5 < 5 | False |
| >= | Lớn hơn hoặc bằng | 10 >= 10 | True |
| <= | Nhỏ hơn hoặc bằng | 5 <= 8 | True |
Cú pháp cơ bản:
# Bắt buộc phải có dấu hai chấm (:) if dieu_kien_la_dung: # Khối lệnh 1: Sẽ chạy khi điều kiện ĐÚNG print("Điều kiện này đúng!") # Chương trình sẽ tiếp tục từ đây, bất kể điều kiện có đúng hay khôngKhối lệnh (Indentation) – Quy tắc Vàng:
Khối lệnh là các câu lệnh thuộc về if.
Trong Python, khối lệnh được xác định bằng cách thụt lề (cách vào 4 dấu cách).
Lỗi thường gặp: Thiếu thụt lề hoặc thụt lề không đồng nhất → IndentationError.
4. Cấu trúc if/else
Dùng khi chỉ có hai lựa chọn (Đúng hoặc Sai).
if diem >= 5:
print("Đạt môn học.")
else:
# else không cần điều kiện, nó là "ngược lại" của if
print("Không đạt. Cần học lại.")
Demo: Viết chương trình kiểm tra xem người dùng nhập số lớn hơn 10 hay không.
5. Cấu trúc if/elif/else (Nhiều lựa chọn)
Dùng khi có nhiều hơn hai lựa chọn (chọn một trong nhiều nhánh).
elif (viết tắt của “else if”) cho phép kiểm tra điều kiện thứ hai, thứ ba, v.v.
Chương trình sẽ dừng ngay khi tìm thấy điều kiện ĐÚNG đầu tiên.
if diem >= 8:
print("Loại Giỏi")
elif diem >= 6.5: # Chỉ kiểm tra nếu điểm < 8
print("Loại Khá")
elif diem >= 5: # Chỉ kiểm tra nếu điểm < 6.5
print("Loại Trung bình")
else:
print("Không đạt")
Demo: Viết chương trình phân loại độ tuổi: Nhỏ hơn 18 (Trẻ vị thành niên), 18-60 (Người lớn), Lớn hơn 60 (Người già).
6. Kết hợp Điều kiện (and,or)
Toán tử and: Cả hai điều kiện phải ĐÚNG.
Ví dụ: Truy cập được if Tên đăng nhập and Mật khẩu đều đúng.
Toán tử or: Chỉ cần một trong hai điều kiện ĐÚNG.
Ví dụ: Được giảm giá if là sinh viên or mua hàng trên 5 triệu.
# Ví dụ AND
if gio_lam >= 8 and cham_cong == True:
print("Đạt tiêu chuẩn lao động")
# Ví dụ OR
if he_thong == "Windows" or he_thong == "Linux":
print("Hệ điều hành được hỗ trợ")
Demo: Viết chương trình kiểm tra if số đã nhập là số chẵn and lớn hơn 10.
7. Lồng ghép if (Nestedif)
Đặt một cấu trúc if/else bên trong khối lệnh của một cấu trúc if/else khác.
Dùng để kiểm tra điều kiện phụ thuộc.
Lưu ý: Việc thụt lề phải chính xác.
if ket_noi_ok == True:
print("Bước 1: Kết nối thành công.")
# Kiểm tra điều kiện phụ thuộc
if quyen_admin == True:
print("Được phép thay đổi cấu hình.")
else:
print("Chỉ được xem thông tin.")
else:
print("Kiểm tra lại đường truyền.")
Demo: Viết chương trình if nhập tên đúng → tiếp tục hỏi mật khẩu. Else → thông báo sai tên.
8. Câu lệnh match-case
Câu lệnh match-case là một tính năng mới được giới thiệu từ Python 3.10, giúp thay thế cho chuỗi if-elif-else dài dòng bằng cú pháp gọn gàng và dễ đọc hơn. Đây là cách Python hiện đại xử lý pattern matching – tức là so khớp giá trị theo mẫu.
🧩 Cú pháp match-case cơ bản
match biểu_thức:
case giá_trị_1:
# hành động nếu biểu_thức == giá_trị_1
case giá_trị_2:
# hành động nếu biểu_thức == giá_trị_2
case _:
# mặc định nếu không khớp giá trị nào
Dấu gạch dưới
_là wildcard – khớp với mọi giá trị, giống nhưelse.
🎯 Ví dụ đơn giản
day = 3
match day:
case 1:
print("Thứ Hai")
case 2:
print("Thứ Ba")
case 3:
print("Thứ Tư")
case _:
print("Không xác định")
🧠 Khi nào nên dùng match-case?
Khi có nhiều giá trị cần kiểm tra (thay vì dùng nhiều
if-elif)Khi muốn code gọn gàng, dễ đọc, dễ bảo trì
Khi xử lý các kiểu dữ liệu phức tạp như tuple, list, dict (pattern matching nâng cao)
🔥 Ví dụ nâng cao: kiểm tra tuple
point = (0, 0)
match point:
case (0, 0):
print("Gốc tọa độ")
case (x, 0):
print(f"Nằm trên trục X tại x = {x}")
case (0, y):
print(f"Nằm trên trục Y tại y = {y}")
case (x, y):
print(f"Tọa độ thường: ({x}, {y})")Bài Tập 2.1: Cấp độ: Dễ – if/else cơ bản
Viết chương trình kiểm tra xem người dùng nhập số lớn hơn 10 hay không.
Hướng dẫn làm bài
Bước 1: Hiểu yêu cầu
Bạn cần viết chương trình:
Nhập một số từ bàn phím
Kiểm tra xem số đó có lớn hơn 10 hay không
In ra thông báo phù hợp
Bước 2: Viết chương trình từng bước
Bước 2.1: Nhập số từ bàn phím
so = int(input("Nhập một số nguyên bất kỳ: "))
input()dùng để nhận dữ liệu từ người dùngint()chuyển dữ liệu từ chuỗi sang số nguyên
Bước 2.2: Kiểm tra điều kiện với if/else
if so > 10:
print("Số bạn nhập LỚN hơn 10.")
else:
print("Số bạn nhập KHÔNG lớn hơn 10.")
if so > 10:kiểm tra điều kiệnNếu đúng → in thông báo lớn hơn
Nếu sai → in thông báo không lớn hơn
Bài Tập 2.2. Cấp độ: Dễ – if/else cơ bản
Viết chương trình phân loại độ tuổi: Nhỏ hơn 18 (Trẻ vị thành niên), 18-60 (Người lớn), Lớn hơn 60 (Người già).
Hướng dẫn làm bài
Bước 1: Hiểu yêu cầu
Người dùng nhập vào độ tuổi (kiểu số nguyên). Chương trình sẽ phân loại như sau:
| Điều kiện | Phân loại |
|---|---|
| < 18 | Trẻ vị thành niên |
| 18–60 | Người lớn |
| > 60 | Người già |
Bước 2: Viết chương trình từng bước
Bước 2.1: Nhập độ tuổi từ bàn phím
tuoi = int(input("Nhập độ tuổi của bạn: "))
input()dùng để nhận dữ liệu từ người dùngint()chuyển dữ liệu từ chuỗi sang số nguyên
Bước 2.2: Kiểm tra điều kiện với if/elif/else
if tuoi < 18:
print("Bạn là Trẻ vị thành niên.")
elif tuoi <= 60:
print("Bạn là Người lớn.")
else:
print("Bạn là Người già.")
if tuoi < 18:kiểm tra xem có nhỏ hơn 18 khôngelif tuoi <= 60:kiểm tra từ 18 đến 60else:xử lý trường hợp lớn hơn 60
Bài Tập 2.3. Cấp độ: Dễ – if/else cơ bản
Viết chương trình kiểm tra số đã nhập là số chẵn và lớn hơn 10.
Hướng dẫn làm bài:
Bước 1: Hiểu yêu cầu
Bạn cần viết chương trình:
Nhập một số nguyên từ bàn phím
Kiểm tra xem số đó có chẵn và lớn hơn 10 hay không
In ra thông báo phù hợp
Bước 2: Viết chương trình từng bước
Bước 2.1: Nhập số từ bàn phím
so = int(input("Nhập một số nguyên: "))
input()dùng để nhận dữ liệu từ người dùngint()chuyển dữ liệu từ chuỗi sang số nguyên
Bước 2.2: Kiểm tra điều kiện với if và and
if so % 2 == 0 and so > 10:
print("Số bạn nhập là số CHẴN và LỚN hơn 10.")
else:
print("Số bạn nhập KHÔNG thỏa mãn cả hai điều kiện.")
so % 2 == 0kiểm tra số chẵnso > 10kiểm tra số lớn hơn 10andyêu cầu cả hai điều kiện đều đúng
Bài Tập 2.4. Cấp độ: Dễ – if/else cơ bản
2.4.1. Viết chương trình kiểm tra số đã nhập là số lẻ nhưng lớn hơn 10.
2.4.2. Viết phần mềm giải phương trình bậc 2. Các số được nhập vào từ bàn phím.
Hướng dẫn làm bài:
Bước 1: Tìm hiểu dạng phương trình
Phương trình bậc 2 có dạng: ax2+bx+c=0
Trong đó:
- a,b,c là các hệ số thực
- a≠0
Bước 2: Nhập dữ liệu từ bàn phím
Dùng hàm input() để nhập các hệ số và ép kiểu về float CÁC BIẾN là a,b,c
Bước 3: Tính biệt thức Δ (Delta)
Δ=b2−4ac
Delta = b2 – 4ac
delta = b**2 – 4*a*c
Bước 4: Xử lý các trường hợp nghiệm
Dùng cấu trúc rẽ nhánh if/elif/else để phân loại nghiệm:
import math
nếu a = 0:
In ra :"Đây không phải là phương trình bậc 2."
Ngược lại:
Nếu delta > 0:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
In ra nghiệm x1 = {x1}, x2 = {x2}")
ngược lại nếu delta = 0:
x = -b / (2*a)
In ra :"Phương trình có nghiệm kép: x = {x}"
Ngược lại thì :
In ra :"Phương trình vô nghiệm trong tập số thực."Bước 5: Kiểm tra và chạy chương trình
Chạy chương trình trong môi trường như VS Code, PyCharm hoặc Terminal để kiểm tra kết quả.
Bài Tập 2.5: Kiểm tra Trạng thái Mạng Đơn giản (Cấp độ: Dễ – if/else cơ bản)
Trong quản trị hệ thống, mã lỗi 0 thường là “Thành công” và bất kỳ số khác là “Lỗi”.
Sử dụng input() để hỏi người dùng nhập Mã trạng thái (dùng int()).
Sử dụng cấu trúc if/else để kiểm tra:
if mã trạng thái bằng 0 (==0). → In: “KẾT NỐI THÀNH CÔNG.”
else (Ngược lại). → In: “KẾT NỐI THẤT BẠI. Kiểm tra cáp mạng.”
Hướng dẫn làm bài
Bước 1: Hiểu yêu cầu
Người dùng sẽ nhập một mã trạng thái (kiểu số nguyên).
Nếu mã là
0→ in ra:"KẾT NỐI THÀNH CÔNG."Nếu mã khác
0→ in ra:
Bước 2: Viết chương trình từng bước
Bước 2.1: Nhập dữ liệu từ bàn phím
ma_trang_thai = int(input("Nhập mã trạng thái: "))
Dùng
input()để nhận dữ liệu từ người dùng.Dùng
int()để chuyển dữ liệu từ chuỗi sang số nguyên.
Bước 2.2: Kiểm tra điều kiện với if/else
Nếu ma_trang_thai = 0 thì
In ra :"KẾT NỐI THÀNH CÔNG."
Ngược lại
In ra thông báo ("KẾT NỐI THẤT BẠI. Kiểm tra cáp mạng.")
if ma_trang_thai == 0:kiểm tra xem mã có bằng 0 không.Nếu đúng, in ra thông báo thành công.
Nếu sai, in ra thông báo lỗi.
Sản phẩm: Lưu với tên File baitap25_check_status.py
Bài Tập 2.6: Phân loại Hiệu suất Server (Cấp độ: Trung bình – if/elif/else)
Hiệu suất của máy chủ (Server) được đánh giá bằng phần trăm sử dụng CPU (CPU_Usage).
Sử dụng input() để hỏi người dùng nhập Phần trăm sử dụng CPU (dùng int()).
Sử dụng cấu trúc if/elif/else để phân loại:
if sử dụng ≥90%. → In: “CẢNH BÁO NGUY HIỂM: Server quá tải!”
elif sử dụng ≥70%. → In: “Cảnh báo: Tải cao, cần theo dõi thêm.”
else (Ngược lại). → In: “Trạng thái BÌNH THƯỜNG.”
Hướng dẫn làm bài
Bước 1: Hiểu yêu cầu
Người dùng nhập phần trăm sử dụng CPU (kiểu số nguyên).
Nếu CPU ≥ 90 → In:
"CẢNH BÁO NGUY HIỂM: Server quá tải!"Nếu CPU ≥ 70 → In:
"Cảnh báo: Tải cao, cần theo dõi thêm."Ngược lại → In:
Bước 2: Viết chương trình từng bước
Bước 2.1: Nhập dữ liệu từ bàn phím
Tạo biến CPU_Usage dùng hàm input
Dùng
input()để nhận dữ liệu từ người dùng.Dùng
int()để chuyển dữ liệu từ chuỗi sang số nguyên.
Bước 2.2: Kiểm tra điều kiện với if/elif/else
Nếu CPU_Usage >= 90 thì
In ra thông báo :("CẢNH BÁO NGUY HIỂM: Server quá tải!")
Ngược lại nếu CPU_Usage >= 70 thì
In ra thông báo :"Cảnh báo: Tải cao, cần theo dõi thêm."
Còn ngược lại thì:
In ra thông báo: "Trạng thái BÌNH THƯỜNG."
ifkiểm tra điều kiện đầu tiên (≥90).elifkiểm tra điều kiện tiếp theo (≥70).elsexử lý các trường hợp còn lại (<70).
Sản phẩm: Lưu với tên File baitap26_phanloai_cpu.py
Bài Tập 2.7: Kiểm tra Điều kiện Nâng cao (Cấp độ: Nâng cao – Toán tử and)
Để thực hiện thay đổi cấu hình hệ thống, người dùng phải đáp ứng HAI điều kiện cùng lúc:
Sử dụng input() để hỏi Tên người dùng (chuỗi). Tên đúng là
admin.Sử dụng input() để hỏi Mã PIN (số nguyên). Mã PIN đúng là
1234.Sử dụng cấu trúc if với toán tử and để kiểm tra if Tên người dùng vaˋ Mã PIN đều đúng:
if Tên là
adminand Mã PIN là1234. → In: “Truy cập CẤP QUYỀN CAO thành công.”else → In: “Thông tin đăng nhập KHÔNG HỢP LỆ.”
Hướng dẫn làm bài
Bước 1: Hiểu yêu cầu
Người dùng cần nhập Tên người dùng (kiểu chuỗi) và Mã PIN (kiểu số nguyên).
Nếu cả hai điều kiện đều đúng:
Tên là
"admin"Mã PIN là
1234→ In:"Truy cập CẤP QUYỀN CAO thành công."
Ngược lại → In:
"Thông tin đăng nhập KHÔNG HỢP LỆ."
Bước 2: Viết chương trình từng bước
Bước 2.1: Nhập dữ liệu từ bàn phím
Tạo biến ten_nguoi_dung dùng hàm input("Nhập tên người dùng: ")
tạo biến ma_pin bằng hàm input("Nhập mã PIN: ") kết hợp hàm int
input()dùng để nhập dữ liệu từ bàn phím.int()chuyển mã PIN từ chuỗi sang số nguyên.
Bước 2.2: Kiểm tra điều kiện với if và and
Nếu mà ten_nguoi_dung = "admin" và ma_pin = 1234 thì:
In ra thông báo :"Truy cập CẤP QUYỀN CAO thành công."
Còn ngược lại thì:
In ra thông báo :"Thông tin đăng nhập KHÔNG HỢP LỆ."
andyêu cầu cả hai điều kiện phải đúng.Nếu một trong hai sai → chuyển sang
else.
Sản phẩm: Lưu với tên File baitap27_check_quyen.py
Bài Tập 2.8: Hệ thống Cấp Bậc Phân Quyền Lồng ghép (Cấp độ: Khó nhất – Lồng ghép if và and/or)
Thiết kế một hệ thống kiểm tra quyền truy cập 2 cấp độ:
Sử dụng input() để hỏi Vai trò (
admin,user, hoặcguest).Sử dụng input() để hỏi Vùng truy cập (
LANhoặcWAN).Thực hiện kiểm tra bằng cấu trúc if/else LỒNG GHÉP:
if Vai trò là
admin:LỒNG GHÉP if: In: “TRUY CẬP ĐẦY ĐỦ (Mọi vùng).”
elif Vai trò là
user:LỒNG GHÉP if (với and): if Vùng truy cập là
LANand là ngày thường (có thể thêm biếnis_weekend = False). → In: “Truy cập HẠN CHẾ Vùng LAN.”else (của if lồng ghép). → In: “Không được phép truy cập vùng WAN.”
else (Vai trò không hợp lệ). → In: “Vai trò không xác định.”
Sản phẩm: Lưu với tên File baitap28_nested_permission.py
Bài Tập 2.9. Phân loại tam giác (Cấp độ: Khó nhất – Lồng ghép if và and/or)
Viết chương trình nhận vào độ dài ba cạnh tam giác. Kiểm tra xem ba cạnh đó có tạo thành tam giác không. Nếu có, phân loại tam giác thành:
Tam giác đều
Tam giác cân
Tam giác vuông
Tam giác thường
Hướng dẫn làm bài
🧪 Bước 1: Hiểu yêu cầu
Nhập 3 số thực: a, b, c
Kiểm tra điều kiện tam giác:
a + b > c and a + c > b and b + c > aNếu là tam giác:
Nếu a = b = c → Tam giác đều
Nếu có 2 cạnh bằng nhau → Tam giác cân
Nếu thỏa mãn định lý Pythagoras → Tam giác vuông
Ngược lại → Tam giác thường
Nếu không thỏa điều kiện → In: “Không phải tam giác!”
🧑💻 Bước 2: Viết chương trình từng bước
🔹 Bước 2.1: Nhập dữ liệu từ bàn phím
Tạo các biến a,b,c là các cạnh dùng hàm input("Nhập cạnh a: ") kết hợp hàm float. Dùng float() để xử lý số thập phân.
🔹 Bước 2.2: Kiểm tra điều kiện tam giác
Nếu mà a + b > c and a + c > b and b + c > a:
thì in ra: Là tam giác
Còn ngược lại:
In ra : ("Không phải tam giác!")
🔹 Bước 2.3: Phân loại tam giác
Nếu mà a = b = c thì in ra thông báo :"Tam giác đều"
Ngược lại nếu: a =b or b = c or a = c thì
# Kiểm tra thêm tam giác vuông cân
sides = sorted([a, b, c])
Nếu sides[0]**2 + sides[1]**2 == sides[2]**2: thì in ra thông báo
:"Tam giác vuông cân"
Ngược lại thì in ra Thông báo :"Tam giác cân"
Ngược lại nếu a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2 thì in ra thông báo:
print("Tam giác vuông")
Ngược lại thì in ra thôgn báo:print("Tam giác thường")
💾 Sản phẩm
Lưu với tên file: bai29_phanloai_tamgiac.py
Bài Tập 2.10. Tìm số lớn nhất, nhỏ nhất (Cấp độ: Khó nhất – Lồng ghép if và and/or)
Viết chương trình nhận vào 4. Kiểm tra xem số nào lớn nhất, số nào nhỏ nhất.
Các bước thực hiện
🔹 Bước 1: Nhập dữ liệu từ bàn phím
Tạo các biến a,b,c,d là các là các số kết hợp hàm float. Dùng float() để xử lý số thập phân.
Dùng
float()để xử lý cả số thập phân.
🔹 Bước 2: Khởi tạo biến lớn nhất và nhỏ nhất
max_val = a
min_val = a
Giả sử ban đầu
alà số lớn nhất và nhỏ nhất.
🔹 Bước 3: So sánh từng số để tìm số lớn nhất
Nếu b > max_val thì gán max_val = b
Nếu c > max_val thì gán max_val = c
Nếu d > max_valt thì gán max_val = d
🔹 Bước 4: So sánh từng số để tìm số nhỏ nhất
Nếu b < min_val thì gán min_val = b
Nếu c < min_val thì gán min_val = c
Nếu d < min_val thì gán min_val = d
🔹 Bước 5: In kết quả
In ra thông báo ("Số lớn nhất là:", max_val)
In ra thông báo ("Số nhỏ nhất là:", min_val)
💾 Sản phẩm
Lưu với tên file: bai210_tim_so_lon_nho_nhat.py
Bài Tập 2.11. Phân loại ngày trong tuần (Cấp độ: Dễ -match-case )
Yêu cầu: Viết chương trình nhập vào một số nguyên từ 1 đến 7, đại diện cho thứ trong tuần. Sử dụng match-case để in ra tên ngày tương ứng.
🛠️ Các bước thực hiện
🔹 Bước 1: Nhập số nguyên từ bàn phím
day = int(input("Nhập số thứ trong tuần (1-7): "))
🔹 Bước 2: Dùng match-case để kiểm tra
match day:
case 1:
print("Thứ Hai")
case 2:
print("Thứ Ba")
case 3:
print("Thứ Tư")
case 4:
print("Thứ Năm")
case 5:
print("Thứ Sáu")
case 6:
print("Thứ Bảy")
case 7:
print("Chủ Nhật")
case _:
print("Giá trị không hợp lệ")🛠️ Các bước thực hiện
🔹 Bước 1: Nhập hai số và phép toán
a = float(input("Nhập số thứ nhất: "))
b = float(input("Nhập số thứ hai: "))
operator = input("Nhập phép toán (+, -, *, /): ")
🔹 Bước 2: Dùng match-case để xử lý phép toán
match operator:
case "+":
print("Kết quả:", a + b)
case "-":
print("Kết quả:", a - b)
case "*":
print("Kết quả:", a * b)
case "/":
if b != 0:
print("Kết quả:", a / b)
else:
print("Lỗi: Không thể chia cho 0")
case _:
print("Phép toán không hợp lệ")Bài Tập 2.13. Phân tích tọa độ điểm (Cấp độ: Nâng cao)
Nhập tọa độ điểm (x, y) → Xác định vị trí điểm.
🛠️ Các bước thực hiện
🔹 Bước 1: Nhập tọa độ dưới dạng tuple
point = tuple(map(int, input("Nhập tọa độ (x y): ").split()))
🧩 Giải thích từng phần
| Thành phần | Ý nghĩa |
|---|---|
input("Nhập tọa độ (x y): ") | Hiển thị lời nhắc và nhận chuỗi nhập từ người dùng, ví dụ "3 5" |
.split() | Tách chuỗi thành danh sách các phần tử dựa trên dấu cách → ["3", "5"] |
map(int, ...) | Dùng hàm int() để chuyển từng phần tử trong danh sách từ chuỗi sang số nguyên → [3, 5] |
tuple(...) | Đóng gói danh sách thành một tuple → (3, 5) |
point = ... | Gán tuple kết quả vào biến point |
🔹 Bước 2: Dùng match-case để phân tích vị trí
match point:
case (0, 0):
print("Gốc tọa độ")
case (x, 0):
print(f"Nằm trên trục X tại x = {x}")
case (0, y):
print(f"Nằm trên trục Y tại y = {y}")
case (x, y):
print(f"Tọa độ thường: ({x}, {y})")🧠 Giải thích chi tiết từng phần
1. match point:
Đây là cú pháp so khớp mẫu (pattern matching) được giới thiệu từ Python 3.10.
Biến
pointlà một tuple chứa hai số nguyên đại diện cho tọa độ(x, y).
2. Các case bên trong
🔹 case (0, 0):
Kiểm tra xem
pointcó đúng là(0, 0)không.Nếu đúng → in ra:
"Gốc tọa độ"
🔹 case (x, 0):
Kiểm tra xem điểm có nằm trên trục X không (tức là hoành độ
xbất kỳ, tung độy = 0).Nếu đúng → gán giá trị hoành độ vào biến
xvà in ra:"Nằm trên trục X tại x = {x}"
🔹 case (0, y):
Kiểm tra xem điểm có nằm trên trục Y không (tức là hoành độ
x = 0, tung độybất kỳ).Nếu đúng → gán giá trị tung độ vào biến
yvà in ra:"Nằm trên trục Y tại y = {y}"
🔹 case (x, y):
Trường hợp còn lại: điểm không nằm trên trục X hay Y, cũng không phải gốc tọa độ.
Gán giá trị
xvàytừ tuple và in ra:"Tọa độ thường: ({x}, {y})"
