Ôn tập Python lớp 9: Chuỗi, danh sách và từ điển
Ôn tập Python lớp 9: Chuỗi, danh sách và từ điển
Khởi động
Trong bài ôn tập này, em sẽ củng cố các lệnh và hàm quan trọng đã học trong seri Python lớp 9: input(), print(), split(), strip(), casefold(), danh sách, vòng lặp for, điều kiện if, len() và từ điển. Mỗi bài đều có gợi ý và chương trình hoàn chỉnh để em có thể sao chép, chạy thử rồi tự thay đổi dữ liệu.
Bài 1: Đếm số nguyên dương
Đề bài: Cho một danh sách số nguyên. Hãy đếm có bao nhiêu số lớn hơn 0.
Gợi ý: Tạo biến đếm bằng 0. Duyệt từng số, nếu số đó lớn hơn 0 thì tăng biến đếm.
Lời giải hoàn chỉnh:
numbers = [-3, 0, 5, 8, -2, 7, 0]
count = 0
for number in numbers:
if number > 0:
count += 1
print("Danh sách:", numbers)
print("Có", count, "số nguyên dương.")
Em hãy thử thay danh sách bằng các bộ dữ liệu khác, chẳng hạn toàn số âm, toàn số dương hoặc danh sách chỉ có số 0.
Bài 2: Tìm tên trong danh sách
Đề bài: Nhập một tên và kiểm tra tên đó có trong danh sách hay không.
Gợi ý: Dùng input(), strip() và casefold() để xử lý khoảng trắng, chữ hoa và chữ thường.
Lời giải hoàn chỉnh:
names = ["An", "Bình", "Chi", "Dũng"]
target = input("Nhập tên cần tìm: ").strip()
found = False
for name in names:
if name.casefold() == target.casefold():
found = True
break
if found:
print("Tên có trong danh sách.")
else:
print("Không tìm thấy tên.")
Hãy kiểm thử với tên ở đầu danh sách, cuối danh sách, tên không tồn tại và tên có thêm khoảng trắng.
Bài 3: Đếm số lần xuất hiện của một từ
Đề bài: Cho danh sách từ. Nhập một từ và đếm số lần từ đó xuất hiện.
Gợi ý: Dùng biến count. Mỗi lần hai từ giống nhau thì tăng biến đếm.
Lời giải hoàn chỉnh:
words = ["python", "java", "python", "html", "Python"]
target = input("Nhập từ cần đếm: ").strip()
count = 0
for word in words:
if word.casefold() == target.casefold():
count += 1
print("Từ", target, "xuất hiện", count, "lần.")
Ở chương trình này, python và Python được xem là giống nhau nhờ casefold().
Bài 4: Tính điểm trung bình
Đề bài: Cho danh sách điểm. Hãy tính điểm trung bình của danh sách.
Gợi ý: Dùng sum() để tính tổng và len() để lấy số phần tử. Cần kiểm tra danh sách có rỗng hay không.
Lời giải hoàn chỉnh:
scores = [7.5, 8.0, 9.0, 6.5, 8.5]
if len(scores) == 0:
print("Danh sách điểm rỗng.")
else:
average = sum(scores) / len(scores)
print("Điểm trung bình:", round(average, 2))
Hãy thử danh sách chỉ có một điểm, danh sách có các điểm bằng nhau và danh sách rỗng.
Bài 5: Đếm số học sinh theo lớp
Đề bài: Cho danh sách tên lớp của học sinh. Hãy đếm số học sinh thuộc từng lớp.
Gợi ý: Dùng từ điển. Nếu lớp chưa có trong từ điển thì gán giá trị 1; nếu đã có thì tăng thêm 1.
Lời giải hoàn chỉnh:
classes = ["9A", "9B", "9A", "9C", "9B", "9A"]
result = {}
for class_name in classes:
if class_name not in result:
result[class_name] = 1
else:
result[class_name] += 1
for class_name, amount in result.items():
print(class_name, ":", amount, "học sinh")
Kết quả cho biết lớp 9A có 3 học sinh, lớp 9B có 2 học sinh và lớp 9C có 1 học sinh.
Đọc tiếp bài Ôn tập Python lớp 9: Hàm, tệp văn bản và xử lý lỗi
Tự luyện thêm
Em hãy kết hợp các bài trên: nhập một câu, dùng split() để tách thành danh sách từ, đếm số lần xuất hiện của từng từ bằng từ điển. Đây là bước chuẩn bị tốt cho các bài xử lý dữ liệu lớn hơn.
Từ khoá: on tap python lop 9 chuoi danh sach va tu dien, Ôn tập Python lớp 9, chuỗi Python, danh sách Python, từ điển Python, bài tập Python THCS