Trắc nghiệm Tin học 11 Cánh diều Bài 3 (có đáp án): Thực hành về tệp, mảng và danh sách
15 câu · Đề theo bài
Xem trước: đọc nhanh mọi câu dạng chữ, chưa tính giờ, chưa hiện đáp án. Luyện tập: chọn đáp án là biết đúng sai ngay, kèm lời giải. Thi thử: nộp bài mới chấm điểm và hiện lời giải.
Câu 1
Lệnh nào được dùng để mở tệp “data.txt” chỉ để đọc dữ liệu trong Python?
Đáp án và lời giải
Đáp án: B
Câu 2
Câu lệnh nào dùng để đóng tệp đã mở trong Python?
Đáp án và lời giải
Đáp án: B
Câu 3
Câu lệnh nào dùng để đọc tất cả nội dung từ tệp “file.txt” và lưu vào một chuỗi?
Đáp án và lời giải
Đáp án: C
Câu 4
Để lấy các phần tử có chỉ số lẻ từ danh sách a, ta sử dụng lệnh nào?
Đáp án và lời giải
Đáp án: B
Câu 5
Phương thức sort() trong danh sách ds.sort() làm gì?
Đáp án và lời giải
Đáp án: B
Câu 6
Lệnh nào sẽ chèn một phần tử x vào vị trí chỉ số y trong danh sách ds?
Đáp án và lời giải
Đáp án: A
Câu 7
Câu lệnh nào lấy các phần tử từ chỉ số 2 đến chỉ số 5 trong danh sách a?
Đáp án và lời giải
Đáp án: B
Câu 8
Phương thức nào sẽ trả về số lần xuất hiện của phần tử x trong danh sách ds?
Đáp án và lời giải
Đáp án: A
Câu 9
Để xóa phần tử có giá trị x trong danh sách ds, lệnh nào sau đây là đúng?
Đáp án và lời giải
Đáp án: B
Câu 10
Câu lệnh nào dùng để tạo một bản sao của danh sách ds?
Đáp án và lời giải
Đáp án: A
Câu 11
Cho một danh sách các số nguyên a. Hãy chọn đoạn mã Python nào sau đây sẽ tạo ra một danh sách b chứa các phần tử ở nửa sau của a và in từng phần tử của b ra màn hình.
a)b = a[len(a)//2:]
b)b = a[:len(a)//2]
c)b = a[-1:]
d)b = a[::-1]
Đáp án và lời giải
Đáp án: a) Đúng; b) Sai; c) Sai; d) Sai
Câu 12
Cho tệp data.txt chứa các số nguyên trên từng dòng. Để đọc tất cả các dòng của tệp và lưu vào danh sách numbers (các phần tử trong danh sách là số nguyên), lựa chọn nào sau đây là đúng?
a)numbers = [int(line) for line in open("data.txt", "r")]
b)numbers = list(open("data.txt", "r"))
c)numbers = open("data.txt", "r").readlines()
d)numbers = [float(line) for line in open("data.txt")]
Đáp án và lời giải
Đáp án: a) Đúng; b) Sai; c) Sai; d) Sai
Câu 13
Giả sử bạn có danh sách a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. Làm thế nào để tạo một danh sách chỉ chứa các phần tử ở vị trí chỉ số lẻ của a?
Đáp án và lời giải
Đáp án: Sử dụng cú pháp b = a[1::2]. Giải thích: a[1::2] sẽ bắt đầu từ phần tử có chỉ số 1 và lấy các phần tử cách nhau một bước nhảy là 2. Điều này sẽ lấy ra các phần tử ở vị trí lẻ của a, tức là [2, 4, 6, 8, 10].
Câu 14
Cho một mảng hai chiều a kích thước n x n chứa các số thực. Viết cách lấy ra và in các phần tử của cột chỉ số chẵn trong a.
Đáp án và lời giải
Đáp án: Sử dụng vòng lặp để duyệt qua các hàng, rồi dùng lát cắt để lấy các phần tử của cột chỉ số chẵn: for row in a: print(row[::2]). Giải thích: row[::2] sẽ lấy các phần tử từ vị trí 0 với bước nhảy là 2, tức là các phần tử ở cột chỉ số chẵn. Vòng lặp duyệt qua từng hàng của a, và lát cắt ::2 giúp chọn đúng các phần tử cần thiết.
Câu 15
Cho tệp bangDiem.txt với cấu trúc gồm dòng đầu tiên là số lượng học sinh và số môn học, dòng thứ hai là danh sách các tên môn học, và các dòng tiếp theo là tên học sinh kèm điểm số các môn học. Làm thế nào để đọc tệp và tách ra danh sách tên học sinh cùng danh sách điểm số của từng học sinh?
Đáp án và lời giải
Đáp án: Dùng hàm readlines() để đọc từng dòng của tệp và chuyển dữ liệu thành danh sách. Dòng đầu tiên sẽ dùng để xác định số lượng học sinh và môn học, dòng thứ hai để lấy tên môn học, và các dòng tiếp theo để lấy tên học sinh và điểm số của họ. Giải thích: Hàm readlines() sẽ đọc tất cả các dòng trong tệp bangDiem.txt và trả về dưới dạng một danh sách chuỗi. Dòng đầu tiên có thể được chuyển thành số nguyên để biết số học sinh và số môn học, dòng thứ hai sẽ chứa danh sách tên môn học, còn các dòng tiếp theo sẽ chứa thông tin về tên học sinh và điểm số của từng môn.