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 listdict

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.

Comments

There are no comments at the moment.