Bài F11. Danh sách

Khởi động (SGK Chân trời sàng tạo - Trang 126)

Hướng dẫn giải

Kiểu dữ liệu danh sách (list) trong Python là một công cụ mạnh mẽ giúp lưu trữ và quản lý nhiều giá trị cùng một lúc. Dưới đây là một vài trường hợp cần sử dụng kiểu dữ liệu danh sách để lưu trữ thông tin:

1. Lưu trữ điểm kiểm tra của học sinh

Việc lưu trữ điểm kiểm tra của nhiều học sinh trong một lớp có thể được thực hiện dễ dàng bằng danh sách. Mỗi phần tử trong danh sách có thể là một tuple hoặc một dictionary chứa tên học sinh và điểm của họ.

Ví dụ: 

# Danh sách lưu trữ tên học sinh và điểm kiểm tra

students_scores = [

    ("Nguyễn Văn A", 8.5),

    ("Trần Thị B", 9.0),

    ("Lê Văn C", 7.5),

    ("Phạm Thị D", 9.2)

]

2. Tìm học sinh có điểm cao nhất

Sử dụng danh sách để tìm ra học sinh có điểm cao nhất bằng cách duyệt qua từng phần tử trong danh sách.

Ví dụ: 

# Tìm học sinh có điểm cao nhất

highest_score_student = max(students_scores, key=lambda x: x[1])

print("Học sinh có điểm cao nhất:", highest_score_student[0], "với điểm:", highest_score_student[1])

3. Lưu trữ thông tin nhiều môn học

Danh sách có thể được sử dụng để lưu trữ điểm của học sinh cho nhiều môn học khác nhau. Mỗi môn học có thể là một danh sách con.

# Danh sách lưu trữ điểm cho nhiều môn học

students_grades = {

    "Nguyễn Văn A": [8.5, 9.0, 7.5],  # Điểm cho các môn

    "Trần Thị B": [9.0, 8.5, 9.2],

    "Lê Văn C": [7.5, 8.0, 6.5]

}

4. Lưu trữ tên học sinh trong một lớp

Danh sách có thể được sử dụng để lưu trữ tên của tất cả học sinh trong lớp, giúp dễ dàng quản lý và truy xuất thông tin.

# Danh sách tên học sinh

students_names = ["Nguyễn Văn A", "Trần Thị B", "Lê Văn C", "Phạm Thị D"]

(Trả lời bởi Nguyễn Quốc Đạt)
Thảo luận (1)

Khám phá 1 mục 1 (SGK Chân trời sàng tạo - Trang 127)

Hướng dẫn giải

Đầu tiên, chúng ta sẽ tạo danh sách A và sau đó kiểm tra sự tồn tại của các phần tử có giá trị 0, 3, và 6 trong danh sách A.

# Tạo danh sách A

A = [1, 2, 3, 4, 5]

# Các giá trị cần tìm

values_to_search = [0, 3, 6]

# Tìm kiếm phần tử trong danh sách A

for value in values_to_search:

    if value in A:

        print(f"{value} có trong danh sách A.")

    else:

        print(f"{value} không có trong danh sách A.")

(Trả lời bởi Nguyễn Quốc Đạt)
Thảo luận (1)

Khám phá 2 mục 1 (SGK Chân trời sàng tạo - Trang 127)

Hướng dẫn giải

# Tạo danh sách B với 5 phần tử cùng giá trị 1

B = [1] * 5  # Hoặc B = [1, 1, 1, 1, 1]

 

# Kết nối danh sách A và B để tạo thành danh sách C

C = A + B

 

# In danh sách C ra màn hình

print("Danh sách C:", C)

(Trả lời bởi Nguyễn Quốc Đạt)
Thảo luận (1)

Khám phá mục 3 (SGK Chân trời sàng tạo - Trang 130)

Khám phá mục 4 (SGK Chân trời sàng tạo - Trang 132)

Hướng dẫn giải

Kết quả:

[1, 2, 3, 4, 5]

[1, 2, 3, 4, 5]

[1, 2, 3, 4, 5]

(Trả lời bởi Nguyễn Quốc Đạt)
Thảo luận (1)

Luyện tập (SGK Chân trời sàng tạo - Trang 132)

Hướng dẫn giải

Dưới đây là chương trình Python cho phép người dùng nhập danh sách A gồm các số nguyên, sau đó tạo danh sách B chứa các số nguyên khác nhau trong danh sách A và in ra màn hình.

# Nhập danh sách A từ người dùng

A = input("Nhập các số nguyên cách nhau bởi dấu phẩy: ").split(",")

 

# Chuyển đổi các phần tử trong danh sách A thành số nguyên

A = [int(num.strip()) for num in A]

 

# Khởi tạo danh sách B

B = []

 

# Duyệt từng phần tử trong danh sách A

for num in A:

    # Nếu số không nằm trong danh sách B, thêm vào danh sách B

    if num not in B:

        B += [num]  # Hoặc B.append(num)

 

# In danh sách B ra màn hình

print("Danh sách B (các số nguyên khác nhau):", B)

 

*Hướng dẫn sử dụng:

- Chạy chương trình.

- Nhập các số nguyên cách nhau bởi dấu phẩy (ví dụ: 1, 2, 3, 2, 1, 4).

- Chương trình sẽ in ra danh sách B chứa các số nguyên khác nhau.

(Trả lời bởi Nguyễn Quốc Đạt)
Thảo luận (1)

Vận dụng (SGK Chân trời sàng tạo - Trang 132)

Hướng dẫn giải

Dưới đây là chương trình Python cho phép người dùng nhập danh sách các số nguyên và thông báo về số lượng số lẻ và số chẵn trong danh sách.

 

# Nhập danh sách các số nguyên từ người dùng

numbers = input("Nhập các số nguyên cách nhau bởi dấu phẩy: ").split(",")

 

# Chuyển đổi các phần tử trong danh sách thành số nguyên

numbers = [int(num.strip()) for num in numbers]

 

# Khởi tạo biến đếm

count_even = 0

count_odd = 0

 

# Duyệt từng phần tử trong danh sách

for num in numbers:

    if num % 2 == 0:  # Kiểm tra số chẵn

        count_even += 1

    else: # Số lẻ

        count_odd += 1

 

# In kết quả ra màn hình

print("Số lượng số chẵn:", count_even)

print("Số lượng số lẻ:", count_odd)

(Trả lời bởi Nguyễn Quốc Đạt)
Thảo luận (1)