
Anonymous
0
0
Giải Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách
- asked 4 months agoVotes
0Answers
0Views
Giải 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
Khởi động trang 115 Tin học 10: Trong bài trước chúng ta đã biết cách 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 để:
- Chèn thêm 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?
Trả lời:
- Xóa danh sách dùng lệnh clear( )
- Chèn thêm phần tử dùng lệnh insert( )
- Kiểm tra phần tử dùng lệnh in()
1. Duyệt danh sách với toán tử in
Hoạt động
Hoạt động 1 trang 115 Tin học 10: Sử dụng toán tử in với danh sách
Quan sát ví dụ sau để biết cách dùng toán tử in để duyệt một danh sách.
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 (Đúng) hoặc False (Sai).
<giá trị> in
Câu hỏi
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?
Trả lời:
a) Sai vì số nguyên 1 không có trong tập A
b) Đúng vì xâu “01” thuộc A.
Câu hỏi 2 trang 116 Tin học 10: Hãy giải thích ý nghĩa từ khoá in trong câu lệnh sau:
Trả lời:
in trong lệnh trên là chạy trong vùng từ 0 đến 9.
2. Một số lệnh làm việc với danh sách
Hoạt động
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.
Trả lời:
Một số lệnh làm việc với dữ liệu danh sách:
A.append(x) |
Bổ sung phần tử x vào cuối danh sách A |
A.insert(k,x) |
Chèn phần tử x vào vị trí k của danh sách A. |
A.clear( ) |
Xóa toàn bộ dữ liệu của danh sách A |
A.remove(x) |
Xóa phần tử x từ danh sách A |
Câu hỏi
Câu hỏi 1 trang 117 Tin học 10: Khi nào lệnh A. append (1) và A. insert (0,1) có tác dụng giống nhau?
Trả lời:
Lệnh A. append (1) và A. insert (0,1) có tác dụng giống nhau khi danh sách A rỗng.
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ì?
Trả lời:
A.insert(3,5)
Luyện tập
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 số có số 3 và số 4 liền nhau hai lần.
Trả lời:
a) A.insert(1,1)
b) A.insert(3,3)
A.insert(6,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:
- Xoá đi một phần tử ở chính giữa dãy nếu số phần tử của dãy số là số lẻ.
- Xoá đi hai phần tử ở chính giữa của dãy nếu số phần tử của dãy là số chẵn.
Trả lời:
a)
if len(A)%2==1:
A.remove(A[len(A)//2+1])
print(A)
b)
if len(A)%2==0:
A.remove(A[len(A)//2])
A.remove(A[len(A)//2+1])
print(A)
Vận dụng
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.
Trả lời:
Các em tham khảo chương trình sau:
Vận dụng 2 trang 118 Tin học 10: Dãy số Fibonacci được xác định như sau:
Trả lời:
f0=0
f1=1
n=int(print(“nhập n:”)
A=[0,1]
for i in range(2, n):
fn=A[i-1]+A[i-2]
A.append(fn)
print(A)
Lý thuyết Tin học 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
1. Duyệt danh sách với toán tử in
- 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 (Đúng) hoặc False (Sai).
<giá trị> in
Ví dụ 1: Dùng toán tử in để kiểm tra <giá trị> có trong không?
>>> A = [1, 2, 3, 4, 5]
>>> 2 in A
True
>>> 10 in A
False
⇒ Số nguyên 2 nằm trong dãy A, kết quả trả lại True. Số 10 không nằm trong dãy A, kết quả trả lại False.
- 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 lệnh range().
Ví dụ 2: Sử dụng toán tử in để duyệt từng phần tử của danh sách
>>> A = [10, 11, 12, 13, 14, 15]
>>> for k in A:
print(k, end = “ “ )
10 11 12 13 14 15
⇒ Khi thực hiện lệnh này, biến k sẽ lần lượt nhận các giá trị từ dãy A.
2. Một số lệnh làm việc với danh sách
A.append(x) |
Bổ sung phần tử x và cuối danh sách A |
A.insert(k, x) |
Chèn phần tử x vào vị trí k của danh sách |
A.clear() |
Xóa toàn bộ dữ liệu của danh sách A |
A.remove(x) |
Xóa phần tử x từ danh sách A |
- Ví dụ 1: Lệnh clear() xóa toàn bộ danh sách
>>> A = [1, 2, 3, 4, 5]
>>> A.clear()
>>> A
[ ]
⇒ Sau khi thực hiện lệnh clear( ), danh sách gốc trở thành rỗng.
- Ví dụ 2: Lệnh remove(value) xóa phần tử đầu tiên của danh sách có ghi giá trị value. Nếu không có phần tử nào thì sẽ báo lỗi.
- Ví dụ 3: Lệnh insert có chức năng chèn phần tử vào danh sách tại chỉ số cho trước.
Thực hành: Các lệnh làm việc với dữ liệu kiểu danh sách
Nhiệm vụ 1: Nhập số n từ bàn phím, sau đó nhập danh sách n tên học sinh trong lớp và in ra danh sách học sinh này, mỗi tên học sinh trên một dòng. Yêu cầu danh sách được in ra theo thứ tự ngược lại với thứ tự đã nhập.
Hướng dẫn
Nhập số tự nhiên n, sau đó sẽ lần lượt yêu cầu nhập n tên học sinh. Tuy nhiên do yêu cầu in danh sách học sinh theo thứ tự ngược lại so với thứ tự nhập nên cần dùng lệnh insert() để chèn tên học sinh được nhập vào đầu danh sách.
Chương trình:
Nhiệm vụ 2: Cho trước dãy số A. Viết chương trình xóa đi các phần tử có giá trị nhỏ hơn 0 từ A.
Hướng dẫn
Duyệt từng phần tử của dãy số A, kiểm tra nếu phần tử này nhỏ hơn 0 thì xóa đi.
Chương trình có thể như sau:
Kết quả khi chạy chương trình:
Nhiệm vụ 3: Cho trước dãy số A. Viết chương trình tìm và chỉ ra vị trí đầu tiên của dãy số A mà ba số hạng liên tiếp có giá trị 1, 2, 3. Nếu tìm thấy thì thông báo vị trí tìm thấy, nếu không thì thông báo “Không tìm thấy mẫu”.
Hướng dẫn
Soạn thảo chương trình sau rồi thực hiện kiểm tra tính đúng đắn của chương trình.