Giải sách bài tập Tin học 10 Bài 22: Kiểu dữ liệu danh sách
Câu 22.1 trang 46 SBT Tin học 10: 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))
Trả lời:
Câu lệnh in ra màn hình: 3 Việt True 6
a) del A[0] b) A = [0, 2] + A
c) A[1] = A[1] * 2 d) A = A + [15]
Trả lời:
a) Xoá 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.
a)
s = 0
for i in range(len (A)):
if A[i] > 0:
s = s +A[i]
print(s)
b)
for i in range(len(A)):
A[i] = A[i] + 3
c)
k = 0
for i in range(1, 4):
if A[i] < 0:
k = k +1
print(k)
Trả lời:
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]).
Trả lời:
Lệnh xoá phần tử đầu tiên trong danh sách A: del A[0].
Lệnh xoá phần tử cuối cùng trong danh sách A: del A[len(A)-1].
Trả lời:
Chương trình có thể viết như sau:
# Dãy ước số thực sự của n
day_uocso = [ ]
n = int(input("Nhập số tự nhiên n: "))
k = n//2 # Các ước số thực sự của n đều không vượt quá n/2
for i in range(1, k + 1):
if (n%i == 0):
day_uocso.append(i)
print("Dãy các ước số thực sự của ", n, " là ",day_uocso)
Trả lời:
Chương trình có thể viết như sau:
# Danh sách theo trình tự ngược lại
A = ["Linh","Thịnh", "Phương"] # Đây chỉ là minh hoạ. Danh sách A có thể là bất kì.
B = []
while len(A) > 0:
B.append(A[len(A) - 1]) # Thêm vào B phần tử cuối cùng của A
del A[len(A) - 1]
print("Danh sách nghịch đảo: ", B)
Trả lời:
Tham khảo Câu 21.9. Chương trình có thể viết như sau:
# Danh sách các chữ số của số n
n = int(input("Nhập số nguyên dương n = "))
ds = []
luu = n
while n > 0:
ds = [n%10] + ds
n = n // 10
print("Danh sách các chữ số của ", luu , " là ", ds)
Trả lời:
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)
Trả lời:
Chương trì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)
so_ho_ngheo = 0
tongthunhap_ngheo = 0
tongthunhap = 0
for i in range( so_ho_gd):
thunhap = ds_thunhap[i]
tongthunhap = tongthunhap + thunhap
if ds_thunhap[i] < 20:
tongthunhap_ngheo = tongthunhap_ngheo + thunhap
so_ho_ngheo = so_ho_ngheo + 1
print("Số các hộ gia đình được khảo sát = ", so_ho_gd, "Thu nhập bình quân 1 hộ = ", tongthunhap/so_ho_gd)
if so_ho_ngheo > 0:
print("Số các hộ gia đình nghèo được khảo sát = ", so_ho_ngheo, "Thu nhập bình quân 1 hộ = ", tongthunhap_ngheo/so_ho_ngheo)
else:
print("Không có hộ gia đình nghèo")
Trả lời:
Sử dụng các câu lệnh nhập dữ liệu nêu trong Câu 22.8 ở trên.
Chương trì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)
max_thunhap = ds_thunhap[0]
min_thunhap = ds_thunhap[0]
max_chuho = ds_chuho[0]
min_chuho = ds_chuho [0]
for i in range(so_ho_gd):
if max_thunhap < ds_thunhap[i]:
max_thunhap = ds_thunhap[i]
max_chuho = ds_chuho[i]
if min_thunhap > ds_thunhap[i]:
min_thunhap = ds_thunhap[i]
min_chuho = ds_chuho[i]
print("Chủ hộ có thu nhập cao nhất là ông/bà ", max_chuho, "với thu nhập 1 năm = ", max_thunhap)
print("Chủ hộ có thu nhập ít nhất là ông/bà ", min_chuho, "với thu nhập 1 năm = ", min_thunhap)
Xem thêm các bài giải SBT Tin học lớp 10 Kết nối tri thức hay, chi tiết khác: