Khởi động
Trả lời câu hỏi mở đầu trang 115
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?
Dựa vào lý thuyết trong bài 23
- 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.
Hoạt động 1
Hướng dẫn giải câu hỏi Hoạt động 1 trang 115
Quan sát ví dụ sau để biết cách dùng toán tử in để duyệt một danh sách.
Quan sát ví dụ
- 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
? mục 1
Hướng dẫn giải câu hỏi mục 1 trang 116
1. 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
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
a) False
b) True
2. Hãy giải thích ý nghĩa của từ khoá in trong câu lệnh sau:
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()
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
Hoạt động 2
Giải câu hỏi Hoạt động 2 trang 116
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.
Quan sát ví dụ để tìm hiểu
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
? mục 2
Hướng dẫn giải câu hỏi mục 2 trang 117
1. Khi nào thì lệnh A.append(1) và A. insert(0,1) có tác dụng giống nhau?
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
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.
2. 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ì?
insert(k, x): chèn phần tử x vào vị trí k của danh sách
Lệnh đã dùng insert(3,5)
Advertisements (Quảng cáo)
Luyện tập
Trả lời câu hỏi Luyện tập trang 118
1. 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
insert(k, x): chèn phần tử x vào vị trí k của danh sách
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)
2. 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.
Dựa vào kiến thức đã học để viết chương trình
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
Trả lời câu hỏi Vận dụng trang 118
1. 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.
Dựa vào kiến thức đã học để viết chương trình
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)
2. 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.
Dựa vào kiến thức đã học để viết chương trình
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)