🐍 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í
📘 Tin học 10 – Danh sách (List): in + các lệnh cơ bản
GDPT 2018 – Bộ sách Kết nối tri thức với cuộc sống
1. Danh sách (list) là gì?
Danh sách (list) là kiểu dữ liệu dùng để lưu nhiều giá trị theo một thứ tự.
Mỗi phần tử có vị trí (chỉ số) bắt đầu từ 0.
Có thứ tựCó chỉ sốCó thể thay đổi
2. Toán tử in với danh sách x in ds trả về True nếu x có trong danh sách ds, ngược lại là False.
ds = ["AMG", "DOM", "Karaoke"]
print("AMG" in ds) # True
print("Bar" in ds) # False
Lưu ý: "5" (chuỗi) khác 5 (số).
3. Duyệt danh sách với for ... in ...
Dùng để lấy lần lượt từng phần tử trong danh sách và xử lí.
diem = [7, 8, 6, 9]
for d in diem:
print(d)
Trong vòng lặp, biến d nhận lần lượt từng phần tử của danh sách.
4. Một số lệnh/phương thức list thường dùng
Độ dài:len(ds)
Thêm:append(x), extend(ds2), insert(i, x)
Xoá:remove(x), pop() / pop(i), clear()
Sắp xếp/đảo:sort(), sort(reverse=True), reverse()
Tìm/đếm:index(x), count(x)
Cách làm 1: Kiểm tra phần tử có trong danh sách
Xác định giá trị cần kiểm tra (x)
Dùng x in ds hoặc x not in ds
Dùng if để xử lí theo 2 trường hợp
ds = ["Trà", "Cà phê", "Nước suối"]
if "Trà" in ds:
print("Có Trà")
else:
print("Không có Trà")
Cách làm 2: Duyệt danh sách để xử lí dữ liệu
Xác định mục tiêu: in ra / đếm / tính tổng / lọc
Duyệt: for x in ds:
Đặt điều kiện if nếu cần
Cập nhật biến đếm/tổng/danh sách kết quả
a = [2, 5, 2, 7, 2]
dem = 0
for x in a:
if x == 2:
dem += 1
print(dem)
Lỗi thường gặp (và cách tránh)
Nhầm kiểu dữ liệu: "5" khác 5
Dùng remove(x) khi x không có trong list → nên kiểm tra if x in ds trước
Quên thụt lề trong vòng lặp for
Ví dụ 1: Kiểm tra phần tử với in
ds = ["An", "Bình", "Chi"]
print("Bình" in ds) # True
print("Dũng" not in ds) # True
Ví dụ 2: Tính tổng danh sách điểm
diem = [7, 8, 6, 9]
tong = 0
for d in diem:
tong += d
print("Tổng =", tong)
Ví dụ 3: Lọc các số chẵn
a = [1, 2, 3, 4, 5, 6]
for x in a:
if x % 2 == 0:
print(x)
Ví dụ 4: Thực hành các lệnh list (menu đồ uống)
nuoc = ["Trà", "Cà phê", "Nước suối"]
nuoc.append("Soda")
nuoc.insert(1, "Sinh tố")
if "Trà" in nuoc:
nuoc.remove("Trà")
nuoc.sort()
print(nuoc)
print("Số lượng =", len(nuoc))
Gợi ý mở rộng: dùng pop() để lấy món cuối, dùng count() để đếm món trùng.
Ví dụ 5: Dùng count và index
a = [2, 5, 2, 7, 2]
print(a.count(2)) # 3
print(a.index(7)) # 3 (vị trí của 7)
Lưu ý: index(x) sẽ báo lỗi nếu x không có trong danh sách.
Bài 1 (Cơ bản)
Cho ds = [3, 7, 2, 9]. Hãy:
Kiểm tra 7 có trong ds không.
In lần lượt các phần tử của ds (mỗi phần tử một dòng).
Bài 2 (Thông hiểu)
Nhập một danh sách số (tự gán sẵn). Hãy đếm có bao nhiêu số chẵn.
Gợi ý: dùng for ... in ... và điều kiện x % 2 == 0.
Bài 3 (Vận dụng)
Cho danh sách a. Nếu có phần tử x trong a thì xoá x đi.
Yêu cầu: bắt buộc kiểm tra if x in a trước khi remove.
Bài 4 (Vận dụng cao)
Cho danh sách điểm diem. Hãy:
Tính điểm trung bình
In ra các điểm ≥ 8
Sắp xếp điểm giảm dần
Gợi ý: dùng sum (nếu biết), hoặc tự cộng bằng for, và sort(reverse=True).
📘 Tin học 10 – Lệnh lặp for trong Python
GDPT 2018 – Bộ sách Kết nối tri thức với cuộc sống
1. Lệnh lặp là gì?
Lệnh lặp dùng để thực hiện một khối lệnh nhiều lần theo một quy luật xác định.
2. Lệnh lặp for
Lệnh for dùng khi biết trước số lần lặp hoặc cần duyệt lần lượt các phần tử.
3. Cú pháp
for biến_lặp in dãy_giá_trị:
khối_lệnh
Biến lặp nhận lần lượt từng giá trị trong dãy.
4. Hàm range()
range(n): từ 0 đến n−1
range(a, b): từ a đến b−1
range(a, b, k): bước nhảy k
Cách viết chương trình với for
Xác định số lần lặp hoặc dãy cần duyệt
Chọn biến lặp phù hợp
Viết khối lệnh bên trong vòng lặp
Lỗi thường gặp
Quên dấu :
Thụt lề sai
Hiểu sai phạm vi của range()
Ví dụ 1: In các số từ 1 đến 5
for i in range(1, 6):
print(i)
Ví dụ 2: Tính tổng các số từ 1 đến n
n = int(input("Nhập n: "))
tong = 0
for i in range(1, n + 1):
tong += i
print(tong)
Ví dụ 3: Duyệt danh sách
ds = [3, 7, 2, 9]
for x in ds:
print(x)
for rất phù hợp khi làm việc với danh sách.
Bài 1 (Cơ bản)
Dùng for in các số từ 1 đến 10.
Bài 2 (Thông hiểu)
Nhập n, tính tổng các số chia hết cho 3 từ 1 đến n.
Bài 3 (Vận dụng)
Nhập một danh sách số, đếm bao nhiêu số chẵn.
Bài 4 (Vận dụng cao)
In bảng nhân từ 2 đến 9 bằng for.
📘 Tin học 10 – Lệnh lặp while trong Python
GDPT 2018 – Bộ sách Kết nối tri thức với cuộc sống
1. Lệnh lặp là gì?
Lệnh lặp dùng để thực hiện một khối lệnh nhiều lần khi điều kiện còn đúng.
2. Lệnh lặp while
Lệnh while lặp khi điều kiện còn đúng. Khi điều kiện sai, vòng lặp kết thúc.
3. Cú pháp
while điều_kiện:
khối_lệnh
Lưu ý: điều kiện phải thay đổi trong vòng lặp để tránh lặp vô hạn.
4. Sơ đồ hoạt động
Kiểm tra điều kiện → Đúng: thực hiện lệnh → quay lại kiểm tra → Sai: thoát vòng lặp.
Cách viết chương trình với while
Khởi tạo biến điều khiển
Viết điều kiện lặp
Cập nhật biến điều khiển trong vòng lặp
Lỗi thường gặp
Quên cập nhật biến → lặp vô hạn
Điều kiện sai ngay từ đầu → không chạy lần nào
Ví dụ 1: In các số từ 1 đến 5
i = 1
while i <= 5:
print(i)
i += 1
Giải thích: biến i tăng dần, khi i > 5 thì dừng.
Ví dụ 2: Tính tổng các số từ 1 đến n
n = int(input("Nhập n: "))
tong = 0
i = 1
while i <= n:
tong += i
i += 1
print(tong)
Ví dụ 3: Nhập số đến khi gặp 0 thì dừng
x = int(input("Nhập số: "))
while x != 0:
print("Bạn vừa nhập:", x)
x = int(input("Nhập số: "))
Ứng dụng phổ biến của while khi chưa biết trước số lần lặp.
Bài 1 (Cơ bản)
Dùng while in các số từ 1 đến 10.
Bài 2 (Thông hiểu)
Nhập n, tính tổng các số chẵn từ 1 đến n.
Bài 3 (Vận dụng)
Nhập các số cho đến khi gặp số âm thì dừng. Đếm bao nhiêu số đã nhập.
Bài 4 (Vận dụng cao)
Nhập mật khẩu. Nếu sai thì nhập lại cho đến khi đúng.
📘 Tin học 10 – Danh sách (List) trong Python
GDPT 2018 – Kết nối tri thức với cuộc sống | Mục tiêu: hiểu List, truy cập phần tử, duyệt & thêm phần tử, luyện tập nhập danh sách
🎯 Phần 1. Kiểu dữ liệu danh sách trong Python
Kiểu dữ liệu: ListCó thứ tựChỉ số từ 0Có thể chứa nhiều kiểu
Khái niệm: Danh sách (List) là kiểu dữ liệu dùng để lưu nhiều giá trị trong một biến.
Các phần tử có thứ tự, được đánh chỉ số (index) bắt đầu từ 0.
n = int(input("Nhập n: "))
ds = []
for i in range(n):
x = input("Nhập phần tử: ")
ds.append(x)
print("Danh sách:", ds)
Lưu ý kiểu dữ liệu: Nếu nhập số, hãy đổi kiểu bằng int() hoặc float() trước khi append.
2.3 Ví dụ minh hoạ (đúng yêu cầu)
Ví dụ 1: Duyệt và đếm số chẵn
ds = [1, 4, 6, 3, 8]
dem = 0
for x in ds:
if x % 2 == 0:
dem += 1
print("Số phần tử chẵn:", dem)
Ví dụ 2: Thêm phần tử và in từng dòng
n = int(input("Nhập n: "))
ds = []
for i in range(n):
ten = input("Nhập tên: ")
ds.append(ten)
for ten in ds:
print(ten)
✅ Trắc nghiệm củng cố (Phần 2)
Câu 1. Lệnh nào dùng để thêm phần tử x vào cuối danh sách ds?
Câu 2. Với ds = [3, 6, 9], đoạn lệnh for x in ds: print(x) sẽ:
Câu 3. Để duyệt theo chỉ số từ 0 đến len(ds)-1, ta thường dùng:
🧩 Phần 3. Luyện tập (thực hành nhập – thêm – in danh sách)
Yêu cầu kỹ năng: khởi tạo list rỗng → nhập n → lặp n lần → append() → duyệt/in kết quả.
Câu 1.
Đề: Nhập số n, sau đó nhập danh sách n tên các bạn lớp em và in danh sách (mỗi tên 1 dòng).
# Câu 1
n = int(input("Nhập n: "))
ds = []
for i in range(n):
ten = input("Nhập tên: ")
ds.append(ten)
print("Danh sách tên:")
for ten in ds:
print(ten)
Gợi ý nâng cao: Nếu muốn bỏ khoảng trắng thừa ở đầu/cuối tên: dùng ten = input(...).strip().
Câu 2. (Gợi ý để bạn hoàn thiện theo lớp)
Gợi ý bài phù hợp GDPT: Nhập n số thực, tính tổng và giá trị lớn nhất.
# Câu 2 (gợi ý)
n = int(input("Nhập n: "))
ds = []
for i in range(n):
x = float(input("Nhập số thực: "))
ds.append(x)
tong = 0
for x in ds:
tong += x
max_val = ds[0]
for x in ds:
if x > max_val:
max_val = x
print("Tổng =", tong)
print("Lớn nhất =", max_val)
Câu 3. (Gợi ý theo hướng vận dụng)
Gợi ý bài phù hợp: Nhập danh sách tên, đếm số tên bắt đầu bằng chữ A (không phân biệt hoa/thường).
# Câu 3 (gợi ý)
n = int(input("Nhập n: "))
ds = []
for i in range(n):
ten = input("Nhập tên: ").strip()
ds.append(ten)
dem = 0
for ten in ds:
if len(ten) > 0 and ten[0].upper() == "A":
dem += 1
print("Số tên bắt đầu bằng A =", dem)
Lưu ý: Dùng upper() để so sánh không phân biệt hoa/thường.
📌 Checklist tự đánh giá (HS tự kiểm tra)
Em tạo được danh sách rỗng: ds = []
Em nhập được n và lặp đúng n lần
Em dùng append() để thêm phần tử
Em in được mỗi phần tử 1 dòng bằng vòng lặp for
Em phân biệt được khi nào dùng int, float, input
Chủ Nhật, 25 tháng 1, 2026
Bài giảng điện tử – Nhúng Blogspot
Tin học 11
THỰC HÀNH TẠO LẬP CƠ SỞ DỮ LIỆU VÀ CÁC BẢNG
Thời lượng: 90 phút•Gồm: Khởi động – Kiến thức mới – Luyện tập – Vận dụng – Tổng kết
Hoạt động 1 – Khởi động (15 phút)
Gợi mở: Khi muốn quản lí dữ liệu (âm nhạc/địa giới), ta cần bắt đầu từ đâu?
Xác định việc đầu tiên: tạo CSDL và thiết kế bảng.
Câu hỏi tình huống: “Muốn lưu dữ liệu nhạc sĩ/ca sĩ/bản nhạc để tra cứu nhanh, em sẽ tạo CSDL và bảng như thế nào?”
Mini-quiz
Câu 1: Việc đầu tiên khi làm với CSDL là:
Cần “nơi chứa dữ liệu” trước khi thao tác nhập/truy vấn → CSDL và bảng.
Hoạt động 2 – Hình thành kiến thức (30 phút)
Mục tiêu: Tạo CSDL mymusic, tạo bảng nhacsi và khai báo khóa chính.
INSERT INTO nhacsi VALUES (1, 'Trịnh Công Sơn');
INSERT INTO nhacsi VALUES (2, 'Nguyễn Văn Chung');
SELECT * FROM nhacsi;
Câu 2: Viết điều kiện để cập nhật đúng nhạc sĩ có mã 1.
Cú pháp: UPDATE nhacsi SET ... WHERE idNhacsi = 1;
Hoạt động 3 – Luyện tập (30 phút)
Nhiệm vụ: Tạo bảng casi, nhập dữ liệu như bảng mẫu, và kiểm tra bằng SELECT.
1) Tạo bảng casi
CREATE TABLE casi (
idCasi INT PRIMARY KEY,
tenCasi VARCHAR(255)
);
2) Nhập dữ liệu mẫu
INSERT INTO casi VALUES (1, 'Trần Khánh');
INSERT INTO casi VALUES (2, 'Lê Dung');
INSERT INTO casi VALUES (3, 'Tân Nhân');
INSERT INTO casi VALUES (4, 'Quốc Hương');
INSERT INTO casi VALUES (5, 'Doãn Tần');
SELECT * FROM casi;
Mini-quiz luyện tập
Câu 3: Khóa chính của bảng casi là:
Khóa chính thường là “mã” (ID) để phân biệt duy nhất từng bản ghi.
Câu 4: Viết lệnh xem toàn bộ dữ liệu bảng casi.
Gợi ý: SELECT * FROM <tên_bảng>;
Bài tự luận ngắn
Vì sao cần khai báo PRIMARY KEY? Nêu 2 lợi ích.
Gợi ý
Đảm bảo mỗi bản ghi là duy nhất, tránh trùng lặp.
Hỗ trợ liên kết dữ liệu và giúp truy vấn ổn định hơn.
Hoạt động 4 – Vận dụng (15 phút)
Bài toán: Lập CSDL quản lí Tỉnh/Thành phố và Quận/Huyện Việt Nam. Thực hành tạo bảng Tỉnh/Thành phố.
Tạo CSDL DiaGioiVN (nếu hỗ trợ)
CREATE DATABASE DiaGioiVN;
USE DiaGioiVN;
Nếu môi trường không hỗ trợ, coi như đang làm việc trong CSDL DiaGioiVN.
Tạo bảng tinhthanhpho + dữ liệu mẫu
CREATE TABLE tinhthanhpho (
idTinh INT PRIMARY KEY,
tenTinh VARCHAR(255)
);
INSERT INTO tinhthanhpho VALUES (1, 'Hà Nội');
INSERT INTO tinhthanhpho VALUES (2, 'TP Hồ Chí Minh');
INSERT INTO tinhthanhpho VALUES (3, 'Đà Nẵng');
INSERT INTO tinhthanhpho VALUES (4, 'Hải Phòng');
INSERT INTO tinhthanhpho VALUES (5, 'Cần Thơ');
SELECT * FROM tinhthanhpho;
Câu 5: Khóa chính hợp lí nhất của bảng tinhthanhpho là:
Tên có thể trùng/khác chính tả; mã ID giúp quản lí ổn định.
Thử thách (tự làm thêm)
Tạo bảng quanhuyen(idHuyen, tenHuyen, idTinh) và nhập 3–5 dòng dữ liệu mẫu.
Gợi ý
CREATE TABLE quanhuyen (
idHuyen INT PRIMARY KEY,
tenHuyen VARCHAR(255),
idTinh INT
);
Tổng kết
Biết dùng CREATE TABLE để tạo bảng và khai báo kiểu dữ liệu.
Biết khai báo PRIMARY KEY để đảm bảo tính duy nhất.
Biết thêm dữ liệu bằng INSERT và kiểm tra bằng SELECT.
Vận dụng tạo bảng quản lí địa giới Việt Nam.
Trắc nghiệm nhanh
Câu 6: Lệnh nào dùng để tạo bảng?
CREATE TABLE thuộc nhóm lệnh định nghĩa dữ liệu (DDL).
Câu 7: PRIMARY KEY dùng để:
Khóa chính chống trùng mã và hỗ trợ liên kết dữ liệu.
Trạng thái
Theo dõi học tập (trên trình duyệt)
Chưa đánh dấu hoàn thành.
Trang sẽ lưu trạng thái hoàn thành và bước học gần nhất trên trình duyệt.
Gợi ý: Bạn có thể nhúng trang này vào “Trang” (Pages) để làm thư viện bài giảng.
Bài 22 – Kiểu dữ liệu danh sách (Tin 10 – KNTT)
Bài 22. Kiểu dữ liệu danh sách
Môn Tin học 10 – Kết nối tri thức với cuộc sống
Thời lượng: 90 phútChủ đề: List – truy cập – duyệt danh sách – append()
Hoạt động 1: Khởi động
Trong thực tế, ta thường làm việc với một tập hợp dữ liệu:
danh sách học sinh, danh sách điểm, danh sách môn học…
Câu hỏi gợi mở
Câu hỏi: Nếu chỉ dùng biến đơn lẻ, có bất tiện gì khi lưu trữ nhiều dữ liệu?
Phải tạo rất nhiều biến riêng lẻ.
Khó quản lí, khó xử lí đồng loạt.
Chương trình dài và dễ sai.
Hoạt động 2: Hình thành kiến thức mới
2.1. Danh sách (List) trong Python
Khái niệm: Danh sách (list) là kiểu dữ liệu dùng để lưu trữ nhiều giá trị trong cùng một biến.
A = [1, 2, 3, 4]
names = ["An", "Bình", "Chi"]
Các phần tử được sắp xếp theo thứ tự và có chỉ số (index).
Chỉ số bắt đầu từ 0.
2.2. Khởi tạo danh sách
Danh sách được tạo bằng cặp dấu ngoặc vuông [].
A = [] # danh sách rỗng
B = [10, 20, 30] # danh sách có sẵn phần tử
Ghi nhớ: Danh sách có thể chứa nhiều kiểu dữ liệu (số, xâu, logic...), nhưng trong bài này ta ưu tiên danh sách số để thực hành.
2.3. Truy cập, thay đổi và xoá phần tử
A = [10, 20, 30]
print(A[0]) # 10
A[1] = 50 # thay đổi phần tử
del A[2] # xoá phần tử
A[i]: truy cập phần tử thứ i.
Dùng lệnh gán để thay đổi: A[i] = ...
Dùng del để xoá: del A[i]
2.4. Duyệt danh sách bằng vòng lặp for
Duyệt theo chỉ số (phù hợp khi cần xử lí từng vị trí):
for i in range(len(A)):
print(A[i])
len(A): số phần tử của danh sách i: chỉ số chạy từ 0 đến len(A) - 1
2.5. Thêm phần tử bằng append()
A = [1, 2, 3]
A.append(10) # thêm 10 vào cuối
Thêm 1 phần tử vào cuối danh sách.
Sau khi thêm, độ dài danh sách tăng thêm 1.
Hoạt động 3: Luyện tập
Bài tập 1: Duyệt và tính tổng
Cho danh sách A = [3, 5, 7, 9].
a) In ra các phần tử của danh sách.
b) Tính và in tổng các phần tử.
A = [3, 5, 7, 9]
S = 0
for i in range(len(A)):
print(A[i])
S += A[i]
print("Tổng =", S)
Kết quả mong đợi: In lần lượt 3, 5, 7, 9 và tổng bằng 24.
Ghi nhớ: Khi tính tổng, cần khởi tạo S = 0 trước vòng lặp.
Bài tập 2: Thêm phần tử bằng append()
Nhập n số nguyên và lưu vào danh sách A, sau đó in danh sách.
A = []
n = int(input("Nhập n: "))
for i in range(n):
x = int(input("Nhập phần tử: "))
A.append(x)
print("Danh sách:", A)
Dùng A = [] để tạo danh sách rỗng.
Mỗi lần nhập xong thì A.append(x) để đưa vào cuối danh sách.
Hoạt động 4: Vận dụng
Nhiệm vụ: Tìm max/min và vị trí
Cho danh sách các số nguyên A. Hãy:
Tìm giá trị lớn nhất và chỉ số của phần tử đó
Tìm giá trị nhỏ nhất và chỉ số của phần tử đó
A = [5, 2, 9, 1, 7]
max_val = A[0]
max_idx = 0
min_val = A[0]
min_idx = 0
for i in range(len(A)):
if A[i] > max_val:
max_val = A[i]
max_idx = i
if A[i] < min_val:
min_val = A[i]
min_idx = i
print("Max =", max_val, "tại chỉ số", max_idx)
print("Min =", min_val, "tại chỉ số", min_idx)
Khởi tạo max/min bằng phần tử đầu tiên.
Duyệt danh sách bằng for i in range(len(A)).
So sánh để cập nhật giá trị và chỉ số.
Tổng kết bài học
Em cần ghi nhớ
Danh sách (list) dùng để lưu nhiều dữ liệu trong một biến.
📌 Danh sách bình luận