Bài 9.1 - Ôn tập tư duy lập trình Python
Khóa học Python từ Cơ bản đến Nâng cao
Chương 1: Làm quen với Python + Ôn tập I/O, biến, kiểu dữ liệu
Chương 2: Câu lệnh rẽ nhánh, vòng lặp, hàm
Chương 3: Xử lý chuỗi và danh sách nâng cao
Chương 4: Bài kiểm tra Python cơ bản + sửa bài
Chương 5: Duyệt mảng, tìm max/min, đếm
Chương 6: Thuật toán sắp xếp
Chương 7: Prefix Sum + Two Pointers
Chương 8: Backtracking cơ bản
Chương 9: Ôn tập thuật toán cơ bản + kiểm tra
Chương 10: Dynamic Programming cơ bản
Chương 11: Đệ quy và DP nâng cao
Chương 12: Đồ thị cơ bản – DFS, BFS
Chương 13: Đồ thị nâng cao – Dijkstra + Topo sort
Chương 14: Cây – Tree traversal + LCA
Chương 15: Bitmask – Kỹ thuật đại số
Chương 16: Số học + Modular Arithmetic
Chương 17: Class
Chương 18: File và Exception

Bài 9.1 - Ôn tập tư duy lập trình Python
Trong bài này, chúng ta sẽ ôn tập lại một số kiến thức cốt lõi trong tư duy lập trình với Python, thông qua các ví dụ gần gũi, ngắn gọn, nhưng mang tính hệ thống. Đây là bước quan trọng trước khi bước vào các phần nâng cao hơn như thuật toán, xử lý dữ liệu, v.v.
1. Câu lệnh điều kiện if
Điều kiện là nền tảng để "suy nghĩ" trong lập trình.
x = 10
if x > 0:
print("x là số dương")
elif x == 0:
print("x là số 0")
else:
print("x là số âm")
Câu lệnh
if-elif-else
giúp chương trình đưa ra quyết định dựa trên điều kiện.
2. Vòng lặp for
, while
Dùng khi bạn muốn lặp lại một hành động nhiều lần.
Ví dụ: In ra các số từ 1 đến 5
for i in range(1, 6):
print(i)
Ví dụ: Lặp với điều kiện
n = 5
while n > 0:
print(n)
n -= 1
for
dùng khi biết trước số lần lặp,while
dùng khi chỉ biết điều kiện dừng.
3. Làm việc với hàm (function
)
Hàm giúp chia nhỏ chương trình, tái sử dụng code.
Ví dụ: Tính giai thừa
def factorial(n):
result = 1
for i in range(2, n+1):
result *= i
return result
print(factorial(5)) # Kết quả: 120
Việc viết hàm giúp bạn tách biệt xử lý logic và sử dụng nhiều lần dễ dàng.
4. Tư duy phân rã bài toán
Chia nhỏ bài toán thành các phần đơn giản hơn.
Bài toán: Kiểm tra số nguyên tố
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
print(is_prime(7)) # Kết quả: True
Thay vì kiểm tra chia hết tới n-1, ta tối ưu bằng căn bậc hai của n.
5. Sử dụng list
và dict
Ví dụ: Duyệt danh sách và tìm tổng
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print("Tổng:", total)
Ví dụ: Đếm số lần xuất hiện bằng dict
s = "hello"
count = {}
for char in s:
count[char] = count.get(char, 0) + 1
print(count) # {'h': 1, 'e': 1, 'l': 2, 'o': 1}
Dictionaries cực kỳ hữu ích khi cần lưu trữ mối quan hệ giữa các cặp dữ liệu.
6. Đệ quy - Recursive thinking
Tư duy đệ quy giúp giải các bài toán có tính lặp lại cấu trúc.
Ví dụ: Giai thừa bằng đệ quy
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
print(factorial(5)) # Kết quả: 120
Cần luôn xác định "điểm dừng" khi dùng đệ quy để tránh lặp vô hạn.
7. Tư duy tìm mẫu – giải bài toán con
Ví dụ: Dãy Fibonacci
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n - 1) + fibonacci(n - 2)
for i in range(6):
print(fibonacci(i), end=' ') # Kết quả: 0 1 1 2 3 5
Tìm mối quan hệ giữa phần tử hiện tại và trước đó là kỹ năng quan trọng.
Tổng kết
- Lập trình không chỉ là biết cú pháp, mà là kỹ năng tư duy logic, phân tích bài toán, và giải quyết vấn đề một cách hệ thống.
- Qua việc ôn tập lại các khái niệm như điều kiện, vòng lặp, hàm, đệ quy, list, dict, bạn sẽ dần hình thành tư duy lập trình vững chắc hơn.
- Hãy luyện tập thật nhiều, bắt đầu từ những bài toán nhỏ và tiến dần lên.
Khóa học liên quan

Comments