Ôn tập Python lớp 9: Thuật toán, tìm kiếm và xử lý dữ liệu

Ôn tập thuật toán, tìm kiếm, sắp xếp và xử lý dữ liệu Python lớp 9 qua 5 bài tập có gợi ý và lời giải hoàn chỉnh.

Ôn tập Python lớp 9: Thuật toán, tìm kiếm và xử lý dữ liệu

Ôn tập Python lớp 9: Thuật toán, tìm kiếm và xử lý dữ liệu

Khởi động

Bài ôn tập này giúp em củng cố cách xây dựng thuật toán bằng vòng lặp, tìm kiếm dữ liệu, tìm giá trị lớn nhất, sắp xếp danh sách và kết hợp nhiều kiến thức để tạo chương trình hoàn chỉnh.

Bài 1: Tìm điểm lớn nhất trong danh sách

Đề bài: Cho danh sách điểm. Hãy tìm và in ra điểm lớn nhất.

Gợi ý: Lấy phần tử đầu tiên làm giá trị lớn nhất tạm thời. Duyệt các phần tử còn lại, nếu gặp điểm lớn hơn thì cập nhật.

scores = [7.5, 8.0, 9.25, 6.5, 8.75]

if len(scores) == 0:
    print("Danh sách điểm rỗng.")
else:
    largest = scores[0]

    for score in scores[1:]:
        if score > largest:
            largest = score

    print("Điểm lớn nhất là:", largest)

Hãy thử danh sách chỉ có một điểm, các điểm bằng nhau và danh sách rỗng.

Bài 2: Tìm tất cả vị trí của một tên

Đề bài: Cho danh sách tên có thể bị lặp. Nhập một tên và in ra tất cả vị trí xuất hiện của tên đó.

Gợi ý: Không dùng break, vì cần tiếp tục duyệt đến cuối danh sách. Dùng danh sách positions để lưu vị trí.

names = ["An", "Bình", "Chi", "An", "Dũng", "An"]

target = input("Nhập tên cần tìm: ").strip()
positions = []

for index, name in enumerate(names):
    if name.casefold() == target.casefold():
        positions.append(index)

if len(positions) == 0:
    print("Không tìm thấy tên.")
else:
    print("Tên xuất hiện tại các vị trí:", positions)
    print("Số lần xuất hiện:", len(positions))

Bài 3: Sắp xếp điểm tăng dần

Đề bài: Sắp xếp danh sách điểm theo thứ tự tăng dần và in ra danh sách sau khi sắp xếp.

Gợi ý: Dùng hàm sorted(). Hàm này tạo danh sách mới và không làm thay đổi danh sách ban đầu.

scores = [8.5, 6.0, 9.25, 7.5, 8.0]

sorted_scores = sorted(scores)

print("Danh sách ban đầu:", scores)
print("Danh sách tăng dần:", sorted_scores)

Bài 4: Tìm học sinh có điểm cao nhất

Đề bài: Cho danh sách gồm tên và điểm. Hãy tìm tên học sinh có điểm cao nhất.

Gợi ý: Mỗi học sinh được lưu bằng một từ điển gồm khóa name và score. Duyệt danh sách và lưu học sinh tốt nhất hiện tại.

students = [
    {"name": "An", "score": 8.5},
    {"name": "Bình", "score": 9.25},
    {"name": "Chi", "score": 8.75},
    {"name": "Dũng", "score": 7.5}
]

if len(students) == 0:
    print("Danh sách học sinh rỗng.")
else:
    best_student = students[0]

    for student in students[1:]:
        if student["score"] > best_student["score"]:
            best_student = student

    print("Học sinh có điểm cao nhất:", best_student["name"])
    print("Điểm:", best_student["score"])

Bài 5: Chương trình quản lý điểm

Đề bài: Viết chương trình quản lý danh sách điểm. Chương trình cần in danh sách điểm, tính điểm trung bình, tìm điểm cao nhất, tìm điểm thấp nhất và in danh sách điểm tăng dần.

Gợi ý: Dùng sum(), len(), max(), min() và sorted(). Trước khi xử lý cần kiểm tra danh sách có rỗng hay không.

scores = [7.5, 8.0, 9.25, 6.5, 8.75, 9.0]

if len(scores) == 0:
    print("Danh sách điểm rỗng.")
else:
    average = sum(scores) / len(scores)
    highest = max(scores)
    lowest = min(scores)
    sorted_scores = sorted(scores)

    print("Danh sách điểm:", scores)
    print("Điểm trung bình:", round(average, 2))
    print("Điểm cao nhất:", highest)
    print("Điểm thấp nhất:", lowest)
    print("Điểm tăng dần:", sorted_scores)

Thử thách thêm

Em hãy nâng cấp bài 5 bằng cách cho người dùng nhập danh sách điểm trên một dòng. Dùng split() để tách dữ liệu và float() để chuyển từng phần tử thành số. Hãy xử lý cả trường hợp người dùng nhập sai dữ liệu.

Đọc tiếp Bài 7 Python lớp 9: Dự án tổng hợp đầu tiên.

Từ khoá: on tap python lop 9 thuat toan tim kiem va xu ly du lieu, Ôn tập Python lớp 9, thuật toán Python, tìm kiếm danh sách, sắp xếp dữ liệu, bài tập Python THCS

How To 60s

How To 60s

How To 60s - Tổng hợp Giáo án và đề thi THCS chương trình mới KNTT, CTST. Thủ thuật excel, word, powerpoint, windows. Mẹo vặt máy tính giúp công việc đơn giản hơn. Chia sẻ những kinh nghiệm, thủ thuật hay trong công việc và cuộc sống hàng ngày