Giải bài tập Tin học lớp 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
Khởi động trang 115 Tin học lớp 10: Trong bài trước chúng ta đã biết dùng lệnh append để thêm phần tử vào cuối một danh sách.
Vậy Python có lệnh nào dùng để:
– Xóa nhanh một danh sách
– Chèn thêm một phần tử vào đầu hay giữa danh sách?
– Kiểm tra một phần tử có nằm trong một danh sách không?
Phương pháp giải:
Dựa vào lý thuyết trong bài 23
Trả lời:
– Xóa nhanh một danh sách: clear()
– Chèn phần tử x vào vị trí k của danh sách: insert(k,x)
– Kiểm tra một phần tử có nằm trong một danh sách không: Câu lệnh dùng toán tử in. Nếu có trả lại True, nếu không thì trả về False.
1. Duyệt danh sách với toán tử in
Hoạt động 1 trang 115 Tin học 10: Quan sát ví dụ sau để biết cách dùng toán tử in để duyệt một danh sách.
Phương pháp giải:
Quan sát ví dụ
Trả lời:
– Toán tử in dùng để kiểm tra một phần tử có nằm trong danh sách đã cho không. Kết quả trả lại True hoặc False: <giá trị> in
– Có thể duyệt nhanh từng phần tử của danh sách bằng toán tử in và lệnh for mà không cần sử dụng range
Câu hỏi 1 trang 116 Tin học 10: Giả sử A = [“0”, “1”, “01”, “10”]. Các biểu thức sau trả về giá trị đúng hay sai?
a) 1 in A
b) “01” in A
Phương pháp giải:
Toán tử in dùng để kiểm tra một phần tử có nằm trong danh sách đã cho không. Kết quả trả lại True hoặc False: <giá trị> in
Trả lời:
a) False
b) True
Câu hỏi 2 trang 116 Tin học 10: Hãy giải thích ý nghĩa của từ khoá in trong câu lệnh sau:
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:
Khi thực hiện lệnh này, biến i lần lượt nhận các giá trị từ 0, 1, …, 8, 9
2. Một số lệnh làm việc với danh sách
Hoạt động 2 trang 116 Tin học 10: Tìm hiểu một số lệnh làm việc với danh sách
Quan sát ví dụ sau để tìm hiểu một số lệnh làm việc với dữ liệu kiểu danh sách.
Phương pháp giải:
Quan sát ví dụ để tìm hiểu
Trả lời:
append(x): Bổ sung phần tử x vào cuối danh sách
insert(k, x): chèn phần tử x vào vị trí k của danh sách
clear(): Xóa toàn bộ dữ liệu của danh sách
remove(x): Xóa phần tử x từ danh sách
Câu hỏi 1 trang 117 Tin học 10: Khi nào thì lệnh A.append(1) và A. insert(0,1) có tác dụng giống nhau?
Phương pháp giải:
append(x): Bổ sung phần tử x vào cuối danh sách
insert(k, x): chèn phần tử x vào vị trí k của danh sách
Trả lời:
Lệnh A.append(1) và A. insert(0,1) có tác dụng giống nhau khi trước đó A rỗng, chưa có phần tử nào.
Câu hỏi 2 trang 117 Tin học 10: Danh sách A trước và sau lệnh insert( ) là [1, 4, 10, 0] và [1, 4, 10, 5, 0]. Lệnh đã dùng là gì?
Phương pháp giải:
insert(k, x): chèn phần tử x vào vị trí k của danh sách
Trả lời:
Lệnh đã dùng insert(3,5)
Luyện tập (trang 118)
Luyện tập 1 trang 118 Tin học 10: Cho dãy số [1, 2, 2, 3, 4, 5, 5]. Viết lệnh thực hiện:
a) Chèn số 1 vào ngay sau giá trị 1 của dãy
b) Chèn số 3 và số 4 vào danh sách để dãy có số 3 và số 4 liền nhau hai lần
Phương pháp giải:
insert(k, x): chèn phần tử x vào vị trí k của danh sách
Trả lời:
a) Chèn số 1 vào ngay sau giá trị 1 của dãy: A.insert(1,1)
b) Chèn số 3 và số 4 vào danh sách để dãy có số 3 và số 4 liền nhau hai lần: A.insert(3,4), A.insert(5,4)
Luyện tập 2 trang 118 Tin học 10: Cho trước dãy số A. Viết chương trình thực hiện công việc sau:
– Xóa đi một phần tử ở chính giữa dãy nếu số phần tử của dãy là số lẻ.
– Xóa đi hai phần tử ở chính giữa của dãy nếu số phần tử là số chẵn.
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 = [11, 50, 26, 87, 59]
C = len(A)
if C%2 != 0:
A. remove (A[C//2])
else:
A. remove (A[C//2])
C = C – 1
A. remove(A[C//2])
print (A)
Vận dụng (trang 118)
Vận dụng 1 trang 118 Tin học 10: Viết chương trình nhập n từ bàn phím, tạo và in ra màn hình dãy số A bao gồm n số tự nhiên chẵn đầu tiên.
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 = []
n = int(input(“Nhập số tự nhiên n:”))
if n<1:
n = int(input(“Nhập lại số tự nhiên n:”))
for i in range (0,n):
A.append(i*2)
print (“Dãy số A là:”, A)
Vận dụng 2 trang 118 Tin học 10: Dãy số Fibonacci được xác định như sau:
F0 = 0
F1 = 1
Fn = Fn−1 + Fn−2 (với n≥2).
Viết chương trình nhập n từ bàn phím, tạo và in ra màn hình dãy số A bao gồm n số hạng đầu của dãy Fibonacci.
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:
n=int(input(“Nhập số tự nhiên n: “))
if n<1:
n=int(input(“Nhập lại số tự nhiên n: “))
if n == 1 or n == 2:
if n == 1:
A = [0]
else:
A = [0,1]
else:
A = [0,1]
for i in range (n-2):
A.append(A[i]+A[i+1])
print(“Dãy số A là:”, A)
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 22: Kiểu 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ự
Bài 26: Hàm trong Python