Với giải sách bài tập Tin học 10 Bài 22: Kiểu dữ liệu danh sách sách Kết nối tri thức hay, chi tiết giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập trong SBT Tin học 10. Mời các bạn đón xem:
Giải sách bài tập Tin học lớp 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:
Giải SBT Tin học 10 Bài 21: Câu lệnh lặp While
Giải SBT Tin học 10 Bài 22: Kiểu dữ liệu danh sách
Giải SBT Tin học 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
Giải SBT Tin học 10 Bài 24: Xâu kí tự
Giải SBT Tin học 10 Bài 25: Một số lệnh làm việc với xâu kí tự