22.1
Giả sử danh sách được xác định như sau:
A= [1, 2, 3, 10, "Việt", True]
Em hãy cho biết câu lệnh sau in gì ra màn hình.
print (A[2], A[4], A[5], len(A))
Phương pháp giải:
Từng phần tử của danh sách có thể được truy cập thông qua chỉ số của danh sách bắt đầu từ 0 tới len()-1 trong đó len() là câu lệnh xác định độ dài của danh sách.
Lời giải chi tiết:
Câu lệnh in ra màn hình: 3 Việt True 6
22.2
Giả sử A là danh sách được xác định trong Câu 22 1. Các câu lệnh sau cho kết quả là gì?
a) del A[0]
b) A [0, 2] + A
c) A[1] = A[1] * 2
d) A = A+ [15]
Phương pháp giải:
Có thể xóa bớt hoặc thêm mới các phần tử vào kiểu dữ liệu danh sách (xem kiến thức phần 1. Kiểu dữ liệu danh sách)
Lệnh del là lệnh xóa một phần tử của danh sách
Lời giải chi tiết:
a) Xóa phần tử đầu tiên của danh sách.
b) Thêm hai phần tử mới là các số 0, 2 vào đầu danh sách A.
c) Nhân phần tử thứ hai của danh sách đã cho với 2 (giá trị A[1] sau câu lệnh này sẽ là 4).
d) Thêm vào cuối danh sách A phần tử một số có giá trị là 15.
22.3
Cho A là danh sách được xác định như sau: A = [1, -2, –3.5, 4, 6, −2.5]
Em hãy cho biết kết quả thực hiện các câu lệnh sau:
Phương pháp giả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().
Lời giải chi tiết:
a) 11 (là tổng các phần tử lớn hơn 0 của A).
b) Mỗi phần tử của danh sách A sau câu lệnh này được cộng thêm 3, nghĩa là A = [4, 1, -0.5, 7, 9, 0.5].
c) 2 (là số phần tử nhỏ hơn 0 trong các phần tử A[1], A[2], A[3]).
22.4
Em hãy viết các câu lệnh xóa phần tử đầu tiên và phần tử cuối cùng trong danh sách A cho trước.
Phương pháp giải:
Lệnh del là lệnh xóa một phần tử của danh sách
Lời giải chi tiết:
Lệnh xóa phần tử đầu tiên trong danh sách A: del A[0].
Lệnh xóa phần tử cuối cùng trong danh sách A: del A[len(A)-1]
22.5
Em hãy viết chương trình nhập một số tự nhiên n và tạo một danh sách các ước số thực sự của n.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Lời giải chi tiết:
Chương trình có thể viết như sau
22.6
Cho một danh sách A. Viết chương trình tạo danh sách B có các phần tử là các phần tử của A theo trình tự ngược lại.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Lời giải chi tiết:
Chương trình có thể viết như sau
22.7
Em hãy viết chương trình tạo danh sách gồm các chữ số của một số tự nhiên n được nhập từ bàn phím.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình, tham khảo câu 21.9
Lời giải chi tiết:
Chương trình có thể viết như sau
22.8
Kết quả khảo sát về tình hình thu nhập của n (n >0) gia đình được chọn ngẫu nhiên ở một địa phương được nhập từ bàn phím vào hai danh sách: danh sách thứ nhất là họ tên các chủ hộ, danh sách thứ hai là thu nhập tương ứng của từng hộ gia đình tính theo đơn vị triệu đồng. Viết các câu lệnh thực hiện việc tạo hai danh sách đó.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình, tham khảo câu 21.9
Lời giải chi tiết:
Các câu lệnh có thể viết như sau:
so_ho_gd = int(input("Số hộ gia đình được khảo sát: "))
ds_chuho = []
ds_thunhap = []
for i in range(so_ho_gd):
hoten = input("Họ tên chủ hộ thứ "+str(i+1)+": ")
ds_chuho.append(hoten)
thunhap = float(input("Thu nhập của hộ gia đình thứ "+str(i+1)+": "))
ds_thunhap.append(thunhap)
22.9
Với kết quả khảo sát tình hình thu nhập được nêu trong Câu 21.11, em hãy viết chương trình để hỗ trợ cho nhóm tổ chức khảo sát: Xác định mức thu nhập bình quân của tất cả các hộ gia đình được khảo sát; Xác định số các hộ gia đình có thu nhập dưới 20 triệu cùng thu nhập bình quân của các hộ đó.
Phương pháp giải:
Sử dụng các câu lệnh nhập dữ liệu nêu trong câu 22.8, tham khảo thêm câu 21.11
Lời giải chi tiết:
Chương trình có thể viết như sau:
22.10
Viết chương trình in ra họ tên và thu nhập của một hộ gia đình có thu nhập cao nhất và một hộ gia đình có thu nhập ít nhất được khảo sát nếu trong Câu 22.8
Phương pháp giải:
Sử dụng các câu lệnh nhập dữ liệu nêu trong câu 22.8
Lời giải chi tiết:
Chương trình có thể viết như sau: