Bộ 11 - Trắc nghiệm Lập trình Python online có đáp án
Thời gian còn lại: --:--
Kết quả của bạn:
Bạn đã đúng:
Bạn đã sai:
Tổng số câu:
Câu 1:
Trong Python, kết quả của biểu thức '0.1 + 0.2 == 0.3' là gì?
💡 Lời giải chi tiết:
Theo tiêu chuẩn số thực dấu phẩy động IEEE 754, việc biểu diễn các số thập phân như 0.1 và 0.2 trong hệ nhị phân gây ra sai số làm tròn khiến tổng của chúng không bằng chính xác 0.3. Kết luận Lý giải False
Câu 2:
Hàm 'all([])' trong Python trả về giá trị nào?
💡 Lời giải chi tiết:
Theo tài liệu chính thức của Python, hàm 'all()' trả về True nếu tất cả các phần tử trong iterable là đúng hoặc nếu iterable đó trống. Kết luận Lý giải True
Câu 3:
Điều gì xảy ra khi một đối tượng 'mutable' (như danh sách) được dùng làm giá trị mặc định cho tham số của hàm?
💡 Lời giải chi tiết:
Trong Python, các đối số mặc định được đánh giá một lần duy nhất tại thời điểm định nghĩa hàm, dẫn đến việc các đối tượng thay đổi được sẽ giữ lại trạng thái qua các lần gọi. Kết luận Lý giải Giá trị mặc định chỉ được khởi tạo một lần duy nhất khi hàm được định nghĩa và dùng chung cho mọi lần gọi.
Câu 4:
Sự khác biệt chính giữa toán tử 'is' và toán tử '==' trong Python là gì?
💡 Lời giải chi tiết:
Toán tử 'is' kiểm tra xem hai biến có cùng trỏ tới một đối tượng trong bộ nhớ hay không, trong khi '==' kiểm tra xem giá trị của chúng có bằng nhau hay không. Kết luận Lý giải 'is' so sánh định danh (địa chỉ bộ nhớ), '==' so sánh giá trị.
Câu 5:
Phương thức nào dùng để loại bỏ khoảng trắng ở cả hai đầu của một chuỗi?
💡 Lời giải chi tiết:
Phương thức 'strip()' được sử dụng để loại bỏ tất cả các ký tự khoảng trắng (hoặc các ký tự được chỉ định) ở cả đầu và cuối chuỗi. Kết luận Lý giải strip()
Câu 6:
Kết quả của hàm 'type(range(5))' trong Python 3 là gì?
💡 Lời giải chi tiết:
Trong Python 3, 'range()' không trả về một danh sách mà trả về một đối tượng kiểu 'range' riêng biệt để tối ưu hóa bộ nhớ. Kết luận Lý giải range
Câu 7:
Làm thế nào để truy cập phần tử cuối cùng của một danh sách 'my_list' mà không cần biết độ dài của nó?
💡 Lời giải chi tiết:
Python hỗ trợ chỉ số âm (negative indexing), trong đó '-1' đại diện cho phần tử cuối cùng của một chuỗi hoặc danh sách. Kết luận Lý giải my_list[-1]
Câu 8:
Trong từ điển (dictionary), điều kiện bắt buộc đối với một 'key' là gì?
💡 Lời giải chi tiết:
Các khóa trong từ điển Python phải thuộc kiểu dữ liệu không thể thay đổi và có thể băm để đảm bảo tính duy nhất và tra cứu nhanh chóng. Kết luận Lý giải Phải là một kiểu dữ liệu có thể băm (hashable) và không đổi (immutable).
Câu 9:
Lệnh nào dùng để thêm một phần tử vào cuối danh sách?
💡 Lời giải chi tiết:
Phương thức 'append()' được sử dụng để thêm một đối tượng duy nhất vào vị trí cuối cùng của danh sách hiện tại. Kết luận Lý giải append()
Câu 10:
Hàm 'zip([1, 2], ['a', 'b', 'c'])' sẽ tạo ra kết quả chứa bao nhiêu cặp phần tử?
💡 Lời giải chi tiết:
Hàm 'zip()' sẽ dừng lại khi iterable ngắn nhất cạn kiệt phần tử, do đó chỉ tạo ra 2 cặp từ danh sách có 2 phần tử. Kết luận Lý giải 2 cặp
Câu 11:
Kết quả của 'round(2.5)' và 'round(3.5)' trong Python 3 lần lượt là gì?
💡 Lời giải chi tiết:
Python 3 sử dụng quy tắc làm tròn 'Banker rounding', làm tròn đến số nguyên chẵn gần nhất khi giá trị nằm chính giữa hai số nguyên. Kết luận Lý giải 2 và 4
Câu 12:
Khối lệnh 'else' trong cấu trúc 'try...except...else...finally' được thực thi khi nào?
💡 Lời giải chi tiết:
Trong cấu trúc xử lý ngoại lệ, khối 'else' được thiết kế để chạy các mã lệnh chỉ khi khối 'try' thực hiện thành công mà không gặp lỗi. Kết luận Lý giải Khi không có ngoại lệ (lỗi) nào xảy ra trong khối try.
Câu 13:
Kiểu dữ liệu nào sau đây là 'immutable' (không thể thay đổi sau khi tạo)?
💡 Lời giải chi tiết:
Tuple là một cấu trúc dữ liệu dạng danh sách nhưng không cho phép thay đổi, thêm hoặc xóa các phần tử sau khi đã khởi tạo. Kết luận Lý giải Tuple
Câu 14:
Trong Python, biến '__name__' có giá trị là gì khi tệp được chạy trực tiếp?
💡 Lời giải chi tiết:
Khi một kịch bản Python được thực thi trực tiếp, trình thông dịch sẽ gán chuỗi '__main__' cho biến đặc biệt '__name__'. Kết luận Lý giải '__main__'
Câu 15:
Từ khóa nào được dùng để khai báo một hàm vô danh (anonymous function)?
💡 Lời giải chi tiết:
Từ khóa 'lambda' trong Python được sử dụng để tạo ra các hàm nhỏ, không có tên và chỉ chứa một biểu thức duy nhất. Kết luận Lý giải lambda
Câu 16:
Lệnh 'print('-'.join(['a', 'b', 'c']))' trả về kết quả nào?
💡 Lời giải chi tiết:
Phương thức 'join()' nối các phần tử của một iterable bằng chuỗi ngăn cách được chỉ định ở phía trước. Kết luận Lý giải a-b-c
Câu 17:
Trong định nghĩa hàm, tham số '*args' thường được dùng để làm gì?
💡 Lời giải chi tiết:
Cú pháp '*args' cho phép một hàm nhận vào một số lượng biến động các đối số không có tên và lưu trữ chúng dưới dạng một tuple. Kết luận Lý giải Để nhận một số lượng không xác định các đối số truyền theo vị trí (positional arguments).
Câu 18:
Hàm 'any([0, False, [], None])' trả về giá trị nào?
💡 Lời giải chi tiết:
Hàm 'any()' trả về True nếu có ít nhất một phần tử trong iterable mang giá trị đúng (truthy), ngược lại trả về False nếu tất cả đều sai (falsy). Kết luận Lý giải False
Câu 19:
Kết quả của biểu thức '3 * (1, 2)' là gì?
💡 Lời giải chi tiết:
Toán tử nhân '*' khi áp dụng cho một tuple và một số nguyên n sẽ tạo ra một tuple mới bằng cách lặp lại tuple ban đầu n lần. Kết luận Lý giải (1, 2, 1, 2, 1, 2)
Câu 20:
Sự khác biệt giữa 'list.sort()' và hàm 'sorted()' là gì?
💡 Lời giải chi tiết:
Phương thức 'sort()' của lớp list thực hiện sắp xếp trực tiếp trên đối tượng đó, trong khi hàm toàn cục 'sorted()' tạo ra một bản sao mới đã sắp xếp. Kết luận Lý giải 'list.sort()' thay đổi danh sách gốc tại chỗ, 'sorted()' trả về một danh sách mới đã được sắp xếp.
Câu 21:
Trong Python, từ khóa nào dùng để truy cập một biến ở phạm vi bên ngoài hàm (nhưng không phải biến toàn cục) trong hàm lồng nhau?
💡 Lời giải chi tiết:
Từ khóa 'nonlocal' được sử dụng trong các hàm lồng nhau để chỉ định rằng một biến thuộc về phạm vi bao quanh gần nhất thay vì phạm vi cục bộ. Kết luận Lý giải nonlocal
Câu 22:
Hàm 'id()' trong Python trả về thông tin gì của đối tượng?
💡 Lời giải chi tiết:
Hàm 'id()' trả về một số nguyên duy nhất và không đổi cho mỗi đối tượng trong suốt vòng đời của nó, tương ứng với địa chỉ bộ nhớ trong CPython. Kết luận Lý giải Định danh duy nhất (thường là địa chỉ bộ nhớ) của đối tượng.
Câu 23:
Biểu thức '2 ** 3 ** 2' có giá trị bằng bao nhiêu?
💡 Lời giải chi tiết:
Toán tử lũy thừa '**' trong Python có tính kết hợp từ phải sang trái, nên biểu thức được tính là 2 ** (3 ** 2) tức là 2 ** 9. Kết luận Lý giải 512
Câu 24:
Phương thức nào của từ điển (dictionary) trả về giá trị mặc định nếu khóa không tồn tại thay vì gây lỗi 'KeyError'?
💡 Lời giải chi tiết:
Phương thức 'get()' cho phép lấy giá trị theo khóa và trả về None hoặc một giá trị mặc định được chỉ định nếu khóa đó không có trong từ điển. Kết luận Lý giải get()
Câu 25:
Phép toán '10 // 3' trả về kết quả là bao nhiêu?
💡 Lời giải chi tiết:
Toán tử '//' là toán tử chia lấy phần nguyên (floor division), nó chia hai số và làm tròn xuống số nguyên gần nhất. Kết luận Lý giải 3