TopStudy

Đáp án và lời giải

Giải SBT Tin 10 KNTT Bài 22. Kiểu dữ liệu danh sách có đáp án

Về trang đề

Câu 1

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Câu lệnh in ra màn hình: 3 Việt True 6

Hình minh hoạ

Câu 2

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

a) Xoá phần tử đầu tiên của danh sách.

Câu 3

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

b) Thêm hai phần tử mới là các số 0, 2 vào đầu danh sách A.

Câu 4

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

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).

Câu 5

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

d) Thêm vào cuối danh sách A phần tử một số có giá trị là 15.

Câu 6

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

a) 11 (là tổng các phần tử lớn hơn 0 của A).

Hình minh hoạ

Câu 7

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

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].

Hình minh hoạ

Câu 8

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

c) 2 (là số phần tử nhỏ hơn 0 trong các phần tử A[1], A[2], A[3]).

Hình minh hoạ

Câu 9

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợ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].

Câu 10

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợ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)

Câu 11

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợ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)

Hình minh hoạ

Câu 12

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợ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)

Câu 13

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợ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)

Câu 14

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợ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")

Câu 15

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợ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)