📢 Chào mừng các bạn đến với Rcom Dăm Yi blog - Kho tài liệu và giải pháp công nghệ bổ ích! Hệ thống liên tục cập nhật dữ liệu học tập mới.
🐍 PYTHON NÂNG CAO – BỘ 1
Bài 14: Danh sách (List) – Luyện tập & Vận dụng | THPT Phan Chu Trinh
📌 LUYỆN TẬP

1. Cho dãy số [1,2,2,3,4,5,5]. Viết lệnh thực hiện:
a) Chèn số 1 vào ngay sau giá trị 1 của dãy.
b) Chèn số 3 và số 4 vào danh sách để dãy có số 3 và số 4 liên nhau hai lần.

2. Cho trước dãy số A. Viết chương trình:
– Xoá 1 phần tử ở chính giữa nếu số phần tử của dãy là số lẻ.
– Xoá 2 phần tử ở chính giữa nếu số phần tử của dãy là số chẵn.
🚀 VẬN DỤNG

1. Nhập n từ bàn phím, tạo và in ra màn hình dãy số A gồm n số tự nhiên chẵn đầu tiên.

2. Dãy Fibonacci được xác định:
F0 = 0, F1 = 1, Fn = Fn-1 + Fn-2 (n ≥ 2)
Nhập n, tạo và in ra dãy A gồm n số hạng đầu của dãy Fibonacci.
Gợi ý: dùng insert, pop, len, vòng lặp for/while.
📝 Soạn thảo Python
▶ Kết quả sẽ hiển thị ở đây...
# Lời giải gợi ý (Bài 14)

# LUYEN TAP 1
ds = [1,2,2,3,4,5,5]
pos1 = ds.index(1)
ds.insert(pos1+1, 1)

# Chen them cap 3-4 de co "3,4" lien nhau 2 lan
pos3 = ds.index(3)
ds.insert(pos3+1, 3)
ds.insert(pos3+2, 4)

# LUYEN TAP 2
A = [0,4,0,1,2,3,8,9,0]
n = len(A)
if n % 2 == 1:
    A.pop(n//2)
else:
    mid = n//2 - 1
    A.pop(mid)
    A.pop(mid)

# VAN DUNG 1
n = int(input())
A = [2*i for i in range(n)]
print(A)

# VAN DUNG 2 (Fibonacci)
n = int(input())
F = []
if n >= 1: F.append(0)
if n >= 2: F.append(1)
for i in range(2, n):
    F.append(F[i-1] + F[i-2])
print(F)
🧾 Lịch sử chạy
    ⚠ Ghi nhớ nhanh:
    insert(i, x): chèn x vào vị trí i
    pop(i): xoá theo vị trí i và trả về phần tử bị xoá
    • Xoá 2 phần tử giữa khi n chẵn: xoá mid = n//2 - 1 hai lần (vì danh sách co lại)
    • Fibonacci: mỗi phần tử sau bằng tổng 2 phần tử trước
    🐍 PYTHON NÂNG CAO – BỘ 1
    Bài 13: Danh sách (List) – Tìm mẫu liên tiếp 1,2,3 | THPT Phan Chu Trinh
    🎯 Bài toán (Nhiệm vụ 3)
    Cho trước dãy số A. Viết chương trình tìm và chỉ ra vị trí đầu tiên trong A mà ba số hạng liên tiếp có giá trị là 1, 2, 3.

    Nếu tìm thấy → thông báo vị trí. Nếu không → thông báo "Không tìm thấy mẫu".
    Gợi ý: dùng vòng lặp while, kiểm tra 3 phần tử liên tiếp: A[i], A[i+1], A[i+2].
    📝 Soạn thảo Python
    ▶ Kết quả sẽ hiển thị ở đây...
    # Lời giải gợi ý (Bài 13 - Nhiệm vụ 3)
    
    A = [0, 4, 0, 1, 2, 3, 8, 9, 0, 1, 2, 3, 17, -16, 0, 1, 2]
    p = [1, 2, 3]
    
    pkq = -1
    i = 0
    
    while i < len(A) - 2 and pkq == -1:
        if A[i] == p[0] and A[i+1] == p[1] and A[i+2] == p[2]:
            pkq = i
        else:
            i += 1
    
    if pkq >= 0:
        print("Tim thay mau", p, "tai vi tri", pkq)
    else:
        print("Khong tim thay mau", p)
    
    # Kết quả mong đợi (với dữ liệu trên):
    # Tim thay mau [1, 2, 3] tai vi tri 3
    🧾 Lịch sử chạy
      ⚠ Ghi nhớ nhanh:
      • Duyệt i từ 0 đến len(A)-3 (vì cần xét 3 phần tử liên tiếp)
      • Dừng sớm khi đã tìm thấy (pkq khác -1) để lấy vị trí đầu tiên
      • Có thể mở rộng: tìm mẫu bất kỳ bằng cách duyệt và so sánh một đoạn con
      🐍 PYTHON NÂNG CAO – BỘ 1
      Bài 12: Danh sách (List) – Xoá phần tử âm | THPT Phan Chu Trinh
      🎯 Bài toán (Nhiệm vụ 2)
      Cho trước dãy số A. Viết chương trình xoá đi các phần tử có giá trị nhỏ hơn 0 trong A.

      Gợi ý: Duyệt từng phần tử của A. Nếu phần tử < 0 thì xoá. Khi xoá trong lúc duyệt, cần chú ý chỉ tăng chỉ số khi KHÔNG xoá.
      📝 Soạn thảo Python
      ▶ Kết quả sẽ hiển thị ở đây...
      # Lời giải gợi ý (Bài 12 - Nhiệm vụ 2)
      
      A = [0, 1, -3, -10, 5, 9, -20, 55]
      
      i = 0
      while i < len(A):
          if A[i] < 0:
              A.remove(A[i])
          else:
              i += 1
      
      print(A)
      
      # Kết quả mong đợi:
      # [0, 1, 5, 9, 55]
      🧾 Lịch sử chạy
        ⚠ Ghi nhớ nhanh:
        remove(x) xoá theo giá trị (xoá lần xuất hiện đầu tiên)
        • Khi xoá trong lúc duyệt, không tăng i ở nhánh xoá để không bị bỏ sót phần tử
        • Có thể thay remove(A[i]) bằng pop(i) để xoá đúng theo vị trí

        🐍 Bài 1: Giới thiệu Python và môi trường lập trình

        🎯 Mục tiêu bài học

        • Biết Python là gì và ứng dụng của Python
        • Viết và chạy được chương trình Python đầu tiên
        • Hiểu lệnh print()

        📘 1. Python là gì?

        Python là ngôn ngữ lập trình dễ học – dễ đọc – mạnh mẽ, rất phù hợp cho học sinh THPT khi bắt đầu học lập trình.

        ✍️ 2. Ví dụ: Chương trình Python đầu tiên

        Chương trình sau in ra màn hình lời chào và một phép tính:

        Kết quả chạy:
        Chưa chạy

        📝 Ghi nhớ

        • Lệnh print()
        • Mỗi lệnh Python thường viết trên một dòng
        • Python phân biệt chữ hoa – chữ thường

        💡 Bài tập

        1. Hãy sửa chương trình để in ra tên của em
        2. In ra tổng của 15 và 20
        3. In ra 3 dòng bất kỳ