Tin học 10 Kết nối tri thức Bài 22: Kiểu dữ liệu danh sách
1. KIỂU DỮ LIỆU DANH SÁCH
<tên list> = [<v1>, <v2>,…,<vn>]
Trong đó: các giá trị <Vk> có thể có kiểu dữ liệu khác nhau (số nguyên, số thực, xâu kí tự....).Ví dụ về len():
- Truy cập hoặc thay đổi giá trị của từng phần tử thông qua
chỉ số:
- Cách tạo danh sách rỗng (có độ dài 0) và các phép toán ghép danh sách (phép +)
Bài tập củng cố
1. Cho danh sách A = [1,
0, "One", 9, 15, "Two", True, False]. Hãy cho biết giá trị các
phần tử:
a) A[0]
b) A[2]
c) A[7]
d) A[len(A)]
Gợi ý trả lời SGK Tin học 10 KNTT
2. Giả sử A là một danh
sách các số, mỗi lệnh sau thực hiện công việc gì?
a) A = A + [10]
b) del A[0]
c) A = [100] + A
d) A = A[1]*25
Gợi ý trả lời SGK Tin học 10 KNTT
2. DUYỆT CÁC PHẦN TỬ CỦA DANH SÁCH
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()
Bài tập củng cố
Gợi ý trả lời SGK Tin học 10 KNTT
Gợi ý trả lời SGK Tin học 10 KNTT
3. Cho dãy số nguyên A. Viết chương trình tính In ra và tổng các số lẻ trong danh sách
Gợi ý trả lời SGK Tin học 10 KNTT
4. Cho dãy số nguyên A. Viết chương trình in ra và đếm các số lẻ trong danh sách
Gợi ý trả lời SGK Tin học 10 KNTT
3. THÊM PHẦN TỬ VÀO DANH SÁCH
- Python có một số lệnh dành riêng (phương thức) cho dữ liệu
kiểu danh sách. Cú pháp các lệnh đó như sau:
<danh sách>.<phương thức>
- Lệnh thêm phần tử vào cuối danh sách là
Bài tập củng cố
1. Sau khi thêm một phần tử
vào danh sách A bằng lệnh append() thì độ dài danh sách A thay đổi như thế nào?
Gợi ý trả lời SGK Tin học 10 KNTT
2. Danh sách A sẽ như thế
nào sau các lệnh sau?
Gợi ý trả lời SGK Tin học 10 KNTT
THỰC HÀNH
Bài tập mẫu ngoài SGK:
Nhập số n từ bàn phím. Sau đó, nhập danh sách n là là các số nguyên và in danh sách đó ra.
Ví dụ:
Nhập số tự nhiên n= 4
Nhập A[1]= 5
Nhập A[2]= 7
Nhập A[3]= -4
Nhập A[4]= 8
Danh sách bạn vừa nhập là
5 7 -4 8
A=[] n=int(input("Nhập số tự nhiên n= ")) for i in range(n): so=int(input("Nhập A["+str(i+1)+"]= ")) A.append(so) print("Danh sách bạn vừa nhập là") for i in range(n): print(A[i],end=" ");
Khởi tạo, nhập dữ liệu, thêm phần tử cho 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 các bạn lớp em và in ra danh sách các tên đó, mỗi tên trên một dòng.Hướng dẫn. Chương trình yêu cầu nhập số tự nhiên n, sau đó nhập từng tên trong danh sách, dùng phương thức append() để đưa dần vào danh sách.
Chú ý. Vì vùng giá trị của lệnh range(n) bắt đầu từ 0 nên trong thông báo nhập cần viết là str(i+1) để bắt đầu từ 1.
Nhiệm vụ 2. Nhập một dãy số từ bàn phím. Tính tổng, trung bình của dãy và in dãy số trên một hàng ngang.
Hướng dẫn. Tương tự nhiệm vụ 1, chỉ khác là nhập số nguyên nên dùng lệnh int() để chuyển đổi dữ liệu.
Chương trình có thể như sau:
Viết chương trình. Nhập một dãy số từ bàn phím rồi in ra dãy số vừa nhập. Sau đó, in ra các số chẵn trong dãy. Tính tổng các số chẵn đó và đếm xem trong dãy có bao nhiêu số chẵn.
Ví dụ:
Nhập số tự nhiên n= 6
Nhập A[1]= 4
Nhập A[2]= 3
Nhập A[3]= 5
Nhập A[4]= 8
Nhập A[5]= 9
Nhập A[6]= 10
Danh sách bạn vừa nhập là
4 3 5 8 9 10 4 8 10
Tổng chẵn : 22
Số lượng số chẵn trong dãy là: 3
Gợi ý trả lời SGK Tin học 10 KNTT
LUYỆN TẬP
1. Viết lệnh xóa phần tử cuối cùng bằng lệnh del
Gợi ý trả lời SGK Tin học 10 KNTT
2. Có thể thêm một phần từ vào đầu danh sách được không? Nếu có thì nêu cách thực hiện
Gợi ý trả lời SGK Tin học 10 KNTT
VẬN DỤNG
Cho dãy số A. Viết chương trình tìm giá trị và chỉ số của phần tử lớn nhất của A. Tương tự bài toán tìm phần tử nhỏ nhất.
Cách 1:
Gợi ý trả lời SGK Tin học 10 KNTT
Cách 2
Gợi ý trả lời SGK Tin học 10 KNTT
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