Tin học 10 Kết nối tri thức 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 hay không. Kết quả trả lại True (Đúng) hoặc False (Sai).

<giá trị> in <danh sách>


- 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ụ 3. Sử dụng toán tử in để duyệt và in ra danh sách các số chẵn



Ví dụ 4. Sử toán toán tử in để duyệt in, tính tổng và đếm các số lẻ trong danh sách 

A=[4,6,7,5,8]

Kết quả hiển thị ra màn hình

Danh sách số lẻ

7 5 

Tổng số lẻ:  12

Số lượng số lẻ: 2

Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
A=[4,6,7,5,8]
Tong=0
Dem=0
print("Danh sách số lẻ")
for k in A:
    if k%2!=0:
        print(k,end=" ")
        Tong=Tong+k
        Dem=Dem+1
print()
print("Tổng số lẻ: ",Tong)
print("Số lượng số lẻ:",Dem)

Bài tập củng cố

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

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

for i in range(10):
           <các lệnh>


Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
Câu 1. a) Sai b) Đúng
Câu 2. Trong câu lệnh for i in range(10) có ý nghĩa 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

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




Chú ý: nếu k nằm ngoài phạm vi chỉ số của danh sách thì lệnh vẫn có tác dụng: nếu k < 0 thì chèn vào đầu danh sách, nếu k > len() thì chèn vào cuối danh sách.


 Bài tập củng cố

1. Khi nào lệnh A.append(1) và lệnh A.insert(0,1) có tác dụng giống nhau?

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



Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
Câu 1. 1. Hai 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 2. Lệnh đã dùng là insert(3,5)

THỰC HÀNH

Bài tập mẫu ngoài sách giáo khoa

1. Viết chương trình nhập vào dãy A gồm n phần tử và  in ra dãy số đã nhập

Ví dụ:

Nhap so luong phan tu: 5

Nhap A[1]=5

Nhap A[2]=4

Nhap A[3]=3

Nhap A[4]=7

Nhap A[5]=8

Danh sach ban vua nhap la: 

5 4 3 7 8 

A=[]
n=int(input("Nhap so luong phan tu: "))
for i in range(n):
    num=int(input("Nhap A["+str(i+1)+"]="))
    A.append(num)    
print("Danh sach ban vua nhap la: ")
for i in A:
    print(i,end=" ")

2. Viết chương trình nhập vào dãy A gồm n phần tử và  in ra dãy số đã nhập theo thứ tự ngược lại

Ví dụ:

Nhap so luong phan tu: 5

Nhap A[1]=5

Nhap A[2]=4

Nhap A[3]=3

Nhap A[4]=7

Nhap A[5]=8

Danh sach ban vua nhap la: 

8   7  3  5   4


A=[]
n=int(input("Nhap so luong phan tu: "))
for i in range(n):
    num=int(input("Nhap A["+str(i+1)+"]="))
    A.insert(0,num)    
print("Danh sach ban vua nhap la: ")
for i in A:
    print(i,end=" ")

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 thứ tự đã nhập.
Hướng dẫn. Chương trình sẽ yêu cầu 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 có thể như sau:

Nhiệm vụ 2. Cho trước dãy số A. Viết chương trình xoá đ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ì xoá đi. Dùng lệnh remove() để duyệt từng phần tử của A.
Chương trình có thể như sau:


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ị là 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 và kiểm tra tính đúng đắn của chương trình.
Chương trình có thể như sau:

LUYỆN TẬP

1. Cho dãy số [1,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

Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
a) Chèn số 1 vào ngay sau giá trị 1 của dãy: 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: insert(4,3), 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:

- Xoá đ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ẻ.

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


* Sử dụng lệnh remove(value) để xóa

Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
Cách 1.
A = [11, 50, 26, 87, 59, 60]
C = len(A)
if C%2 != 0:
    A. remove (A[C//2]) # Câu a 
else:                   #Câu b
    A. remove (A[C//2])
    C = C - 1
    A. remove(A[C//2])
print (A)

Cách 2.
A = [11, 50, 26, 87, 59, 60]
if(len(A)%2!=0):
    A.remove(A[len(A)//2])
else:
    A.remove(A[len(A)//2])
    A.remove(A[len(A)//2])
print(A)

* Sử dụng lệnh del để xóa

Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
Cách 1
A = [11, 50, 26, 87, 59,60]
C = len(A)
if C%2 != 0:
    del A[C//2] # Câu a 
else:           #Câu b
    del (A[C//2])
    C = C - 1
    del(A[C//2])
print (A)
Cách 2
A = [11, 50, 26, 87, 59,60]
if(len(A)%2!=0):
    del(A[len(A)//2])
else:
    del(A[len(A)//2])
    del(A[len(A)//2])
print(A)

LUYỆN TẬP LÀM THÊM 

Bài 1: Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh xác định và in ra số các phần tử lớn hơn 0 của A.

Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
A=[5,7,8,9,10]
dem=0
for k in A:
    if k>0:
        dem=dem+1
print("số phần tử lớn hơn 0 của: ",dem)

Bài 2. Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh tạo và in ra danh sách B chỉ gồm các số chẵn có trong A

Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
A=[5,7,8,9,10]
B=[]
dem=0
for k in A:
    if k%2==0:
        B.append(k)
print("Danh sách số chẵn có trong A là: ",B)

VẬN DỤNG

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.


Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
A = []
n = int(input("Nhập số tự nhiên n:"))
while 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 chẵn",n,"số tự nhiên đầu tiên là: ", A)

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ãy số Fibonacci được xác định như sau:

F= 0

F= 1

F= Fn - 1 + Fn – 2 (với n ≥ 2)

Ví dụ:

Nhập số tự nhiên n: 8
Dãy số A là: [0, 1, 1, 2, 3, 5, 8, 13]

 

Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
A = [0,1]
n = int(input("Nhập số tự nhiên n:"))
while n<1:
    n = int(input("Nhập lại số tự nhiên n:"))
for k in range (2,n):
    A.append(A[k-1]+A[k-2])
for i in A:
    print(i,end= " ")
Hoặc
n=int(input("Nhập số tự nhiên n: "))
while 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)

Viết chương trình nhập dãy n số nguyên và in ra tổng các số chẵn trong dãy số vừa nhập.

Ví dụ:

Nhập từ bàn phím

Kết quả ra màn hình

nhập số n:4

nhập phần tử thứ 1:3

nhập phần tử thứ 2:2

nhập phần tử thứ 3:6

nhập phần tử thứ 4:7

 

Danh sách số chẵn là

2  6

Tổng các số chẵn: 8

Số lượng số chẵn : 2


Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
A=[]
Tong=0
Dem=0
n=int(input("Nhập số n: "))
for i in range(n):
    num=int(input("Nhạp A["+str(i+1)+"]="))
    A.append(num)    
print("Danh sách số chẵn là: ")
for i in A:
    if i%2==0:
        print(i,end=" ")
print()
for i in A:
    if i%2==0:
        Tong=Tong+i
        Dem=Dem+1
print("Tổng các số chẵn: ",Tong)
print("Số lượng số chẵn: ",Dem)

Viết chương trình nhập n số, xoá số thứ k trong n số vừa nhập. In ra n-1 số còn lại.

Nhập từ bàn phím

Kết quả ra màn hình

nhập số n:5

nhập phần tử thứ 1:4

nhập phần tử thứ 2:2

nhập phần tử thứ 3:3

nhập phần tử thứ 4:12

nhập phần tử thứ 5:3

nhập vị trí cần xóa:4

Mảng sau khi xóa: 4 2 3 3


Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
A=[]
n=int(input("Nhập số n: "))
for i in range(n):
    num=int(input("Nhạp A["+str(i+1)+"]="))
    A.append(num)
k=int(input('nhập vị trí cần xóa:'))
del A[k-1]
print("Danh sách sau khi xóa")
for i in A:
    print(i,end=" ")

Viết chương trình cho phép nhập một dãy gồm n số nguyên. Nhập thêm một số vào vị trí cần chèn
ví dụ:

Nhập từ bàn phím

Kết quả ra màn hình

Nhập số n: 5

Nhập A[1]=4

Nhập A[2]=6

Nhập A[3]=7

Nhạp A[4]=3

Nhạp A[5]=4

Nhập số cần chèn:3

Nhập vị trí muốn chèn:4

Danh sách sau khi chèn:

4 6 7 3 3 4


Gợi ý trả lời SGK Tin học 10 KNTT

ĐÁP ÁN: Hiện
A=[]
n=int(input("Nhập số n: "))
for i in range(n):
    num=int(input("Nhập A["+str(i+1)+"]="))
    A.append(num)
k=int(input("Nhập số cần chèn:"))
vt=int(input("Nhập vị trí muốn chèn:"))
A.insert(vt,k)
print("Danh sách sau khi chèn:")
for i in A:
    print(i,end=" ")

CÙNG CHUYÊN MỤC:

Chủ đề 1: Máy tính và xã hội tri thức
Lý thuyết: Bài 1-Thông tin và dữ liệu
Lý thuyết: Bài 2-Vai trò của thiết bị thông minh và tin học đối với xã hội
Chủ đề 2: Mạng máy tính và Internet
Lý thuyết: Bài 8-Mạng máy tính trong cuộc sống hiện đại
Lý thuyết: Bài 9-An toàn trên không gian mạng
Chủ đề 3: Đạo đức, pháp luật và văn hóa trong môi trường số
Lý thuyết: Bài 11-Ứng dụng trên môi trường số. Nghĩa vụ tôn trọng bản quyền
Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính
Lý thuyết: Bài 16-Ngôn ngữ lập trình bậc cao và Python
Lý thuyết: Bài 17-Biến và lệnh gán
Lý thuyết: Bài 18-Các lệnh vào ra đơn giản
Lý thuyết: Bài 19-Câu lệnh điều kiện if
Lý thuyết: Bài 20-Câu lệnh lặp for
Lý thuyết: Bài 21-Câu lệnh lặp while
Lý thuyết: Bài 22-Kiểu dữ liệu danh sách
Lý thuyết: Bài 23-Một số lệnh làm việc với dữ liệu danh sách
Lý thuyết: Bài 24-Xâu kí tự
Lý thuyết: Bài 25-Một số lệnh làm việc với xâu kí tự
Lý thuyết: Bài 26-Hàm trong Python
Lý thuyết: Bài 27-Tham số của hàm
Lý thuyết: Bài 28-Phạm vi của biến
Lý thuyết: Bài 29-Nhận biết lỗi chương trình
Lý thuyết: Bài 30-Kiểm thử và gỡ lỗi chương trình
Lý thuyết: Bài 31-Thực hành viết chương trình đơn giản
Lý thuyết: Bài 32-Ôn tập lập trình Python
Chủ đề 6: Hướng nghiệp với Tin học
Lý thuyết: Bài 33-Nghề thiết kế đồ hoạ máy tính
Lý thuyết: Bài 34-Nghề phát triển phần mềm

Next Post Previous Post
No Comment
Add Comment
comment url