Giải bài tập Tin học lớp 10 Bài 22: Kiểu dữ liệu danh sách
Khởi động trang 111 Tin học lớp 10: Em đã được học những kiểu dữ liệu cơ bản của Python như số nguyên, số thực, xâu kí tự, kiểu dữ liệu logic. Tuy nhiên, khi em cần lưu một dãy các số hay một danh sách học sinh thì cần kiểu dữ liệu dạng danh sách (còn gọi là dãy hay mảng). Kiểu dữ liệu danh sách được dùng nhiều nhất trong Python là kiểu list.
Em hãy tìm một số dữ liệu kiểu danh sách thường gặp trên thực tế.
Phương pháp giải:
Liên hệ thực tế một số dữ liệu kiểu danh sách thường gặp
Trả lời:
Một số dữ liệu kiểu danh sách thường gặp trên thực tế là: danh sách các học sinh trong lớp, bảng điểm, danh sách học sinh được khen thưởng, báo cáo các khoản thu, chi…
1. Kiểu dữ liệu danh sách
Hoạt động 1 trang 111 Tin học 10: Khởi tạo dữ liệu danh sách như thế nào? Cách truy cập, thay đổi giá trị và xoá một phần tử trong danh sách như thế nào?
Phương pháp giải:
Dựa vào lý thuyết trong phần 1. Kiểu dữ liệu danh sách
Trả lời:
– Khởi tạo dữ liệu danh sách: <tên list> = [, , …, ]
– Truy cập các phần tử thông qua chỉ số, bắt đầu từ 0.
– Thay đổi giá trị của từng phần tử bằng lệnh gán hoặc xoá phần tử bằng lệnh del
Câu hỏi 1 trang 112 Tin học 10: Cho danh sách A = [1, 0, “One”, 9, 15, “Two”, True, False]. Hãy cho biết giá trị các phần tử:
a) A[0]
b) A[2]
c) A[7]
d) A[len(A)]
Phương pháp giải:
Lệnh len() là lệnh tính độ dài của danh sách
Trả lời:
a) A[0] = 1
b) A[2] = “One”
c) A[7] = False
d) A[len(A)]: lỗi chỉ số
Câu hỏi 2 trang 112 Tin học 10: Giả sử A là một danh sách các số, mỗi lệnh sau thực hiện công việc gì?
a) A = A + [10]
b) del A[0]
c) A = [100] + A
d) A[1]*25
Phương pháp giải:
Dựa vào kiến thức trong phần 1. Kiểu dữ liệu danh sách
Trả lời:
a) Thêm phần tử 10 vào cuối danh sách
b) Xóa phần tử đầu tiên của danh sách
c) Thêm phần tử 100 vào đầu danh sách
d) Thiết lập biến A mới là tích của 25 với giá trị phần tử thứ hai của danh sách A
2. Duyệt các phần tử của danh sách
Hoạt động 2 trang 112 Tin học 10: Quan sát các lệnh sau để biết cách dùng lệnh for duyệt lần lượt các phần tử của một danh sách.
Phương pháp giải:
Quan sát các lệnh
Trả lời:
Có thể duyệt từng lần lượt các phần tử của một danh sách bằng lệnh for kết hợp với vùng giá trị của lệnh range().
Câu hỏi 1 trang 113 Tin học 10: Giải thích các lệnh ở mỗi câu sau thực hiện công việc gì?
Phương pháp giải:
Có thể duyệt lần lượt các phần tử của danh sách bằng lệnh for kết hợp với vùng giá trị của lệnh range()
Trả lời:
a) Gán S = 0;
Duyệt các phần tử trong danh sách A và tính tổng các phần tử lớn hơn 0 của A
In kết quả S ra màn hình
b) Gán C = 0;
Duyệt các phần tử trong danh sách A và đếm số lượng các phần tử lớn hơn 0 của A
In kết quả C ra màn hình
Câu hỏi 2 trang 113 Tin học 10: Cho dãy số nguyên A, viết chương trình in ra các số chẵn của A.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Trả lời:
A=[2, 6, 3, 6, 9]
for i in range(len(A)):
if(A[i]%2==0):
print (A[i], end = ” “)
3. Thêm phần tử vào danh sách
Hoạt động 3 trang 113 Tin học 10: Quan sát các lệnh sau đây để biết cách thêm phần tử vào một danh sách bằng phương thức append().
Phương pháp giải:
Quan sát các lệnh
Trả lời:
Cách thêm phần tử vào cuối một danh sách bằng phương thức append():
Cú pháp: .append()
Câu hỏi 1 trang 113 Tin học 10: Sau khi thêm một phần tử vào danh sách A bằng lệnh append() thì độ dài danh sách A thay đổi như thế nào?
Phương pháp giải:
Độ dài danh sách A sẽ thêm phần tử trong dấu ( ) sau append vào đuôi danh sách.
Trả lời:
Sau khi thêm một phần tử vào danh sách A bằng lệnh append() thì độ dài danh sách A tăng thêm 1.
Câu hỏi 2 trang 113 Tin học 10: Danh sách A sẽ như thế nào sau các lệnh sau?
Phương pháp giải:
Lệnh thêm phần tử vào cuối danh sách là .append()
Lệnh del là lệnh xóa một phần tử của danh sách
Trả lời:
Sau lệnh “>>> A. append(100)”, danh sách A hiển thị [2, 4, 10, 1, 0, 100].
Sau lệnh “>>> del A[1]”, danh sách A hiển thị [2, 10, 1, 0, 100].
Luyện tập (trang 114)
Luyện tập 1 trang 114 Tin học 10: Viết lệnh xóa phần tử cuối cùng của danh sách A bằng lệnh del.
Phương pháp giải:
Dựa vào kiến thức đã học để viết lệnh
Trả lời:
Lệnh xóa phần tử cuối cùng của danh sách A bằng lệnh del: del A[len(A)-1]
Luyện tập 2 trang 114 Tin học 10: Có thể thêm một phần tử vào đầu danh sách được không? Nếu có thì nêu cách thực hiện.
Phương pháp giải:
Có thể thêm một phần tử vào đầu danh sách được
Trả lời:
Có thể thêm một phần tử vào đầu danh sách được
A = [phần tử cần thêm] + A
Vận dụng (trang 114)
Vận dụng trang 114 Tin học 10: Cho dãy số A. Viết chương trình tính giá trị và chỉ số của phần tử lớn nhất của A. Tương tự với bài toán tìm phần tử nhỏ nhất.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Trả lời:
Chương trình tính giá trị và chỉ số của phần tử lớn nhất của A
Tương tự với bài toán tìm phần tử nhỏ nhất
Xem thêm các bài giải SGK Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Bài 21: Câu lệnh lặp While
Bài 23: Một số lệnh làm việc với dữ liệu danh sách
Bài 24: Xâu kí tự
Bài 25: Một số lệnh làm việc với xâu kí tự