Tin 10, giải tin học 10 kết nối tri thức Chủ đề 5. Giải quyết vấn đề với sự trợ giúp của máy tính

Bài 23. Một số lệnh làm việc với dữ liệu danh sách SGK TIn học 10 Kết nối tri thức


Giả sử A = [“0”, “1”, “01”, “10”]. Các biểu thức sau trả về giá trị đúng hay sai?

Lựa chọn câu để xem lời giải nhanh hơn

Khởi động

Trả lời câu hỏi mở đầu trang 115 SGK Tin học 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

Lời giải chi tiết:

- 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

Trả lời câu hỏi Hoạt động 1 trang 115 SGK 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ụ

Lời giải chi tiết:

- 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

Trả lời câu hỏi mục 1 trang 116 SGK Tin học 10

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

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

Lời giải chi tiết:

a) False

b) True

2. Hãy giải thích ý nghĩa của từ khoá in trong câu lệnh sau:

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

Lời giải chi tiết:

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

Trả lời câu hỏi Hoạt động 2 trang 116 SGK 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

Lời giải chi tiết:

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

Trả lời câu hỏi mục 2 trang 117 SGK Tin học 10

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

Lời giải chi tiết:

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ì?

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 

Lời giải chi tiết:

Lệnh đã dùng insert(3,5)

Luyện tập

Trả lời câu hỏi Luyện tập trang 118 SGK Tin học 10

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

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 

Lời giải chi tiết:

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.

Phương pháp giải:

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 SGK Tin học 10

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.

Phương pháp giải:

Dựa vào kiến thức đã học để viết chương trình

Lời giải chi tiết:

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.

Phương pháp giải:

Dựa vào kiến thức đã học để viết chương trình

Lời giải chi tiết:

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)


Bình chọn:
4.9 trên 7 phiếu

>> Xem thêm

>> Học trực tuyến Lớp 10 tại Tuyensinh247.com, Cam kết giúp học sinh học tốt, hoàn trả học phí nếu học không hiệu quả.