Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python - Đề 02 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Trong Python, kiểu dữ liệu nào sau đây là không thể thay đổi (immutable)?
- A. list
- B. dictionary
- C. tuple
- D. set
Câu 2: Đoạn mã Python sau sẽ in ra giá trị nào?
x = 10
y = 5
print(x if x > y else y)
- A. 10
- B. 5
- C. True
- D. False
Câu 3: Hàm `range(start, stop, step)` trong Python tạo ra dãy số nào?
- A. Từ `start` đến `stop` (bao gồm cả `stop`), bước nhảy `step`
- B. Từ `start` đến `stop` (không bao gồm `stop`), bước nhảy `step`
- C. Từ 0 đến `stop` (không bao gồm `stop`), bước nhảy `step`
- D. Từ `start` đến `stop` (bao gồm cả `stop`), bước nhảy mặc định là 1
Câu 4: Cho danh sách `numbers = [1, 2, 3, 4, 5]`. Biểu thức `numbers[1:3]` sẽ trả về kết quả nào?
- A. [1, 2, 3]
- B. [2, 3, 4]
- C. [2, 3]
- D. [1, 2]
Câu 5: Phương thức nào sau đây được sử dụng để thêm một phần tử vào cuối danh sách trong Python?
- A. insert()
- B. append()
- C. add()
- D. extend()
Câu 6: Đoạn mã Python sau thực hiện công việc gì?
```python
def greet(name):
print(
- A. Tính tổng các số từ 1 đến n
- B. Kiểm tra xem một số có phải số chẵn hay không
- C. Đọc dữ liệu từ file và xử lý
- D. In ra màn hình dòng chữ "Hello, Alice!"
Câu 7: Trong Python, vòng lặp `for` thường được sử dụng để làm gì?
- A. Lặp lại một khối lệnh với số lần xác định trước hoặc duyệt qua các phần tử của một iterable.
- B. Lặp lại một khối lệnh cho đến khi một điều kiện sai.
- C. Thực hiện một khối lệnh nếu một điều kiện đúng, và một khối lệnh khác nếu điều kiện sai.
- D. Định nghĩa một hàm mới.
Câu 8: Giá trị trả về của biểu thức `5 == "5"` trong Python là gì?
- A. True
- B. 1
- C. 0
- D. False
Câu 9: Để viết comment một dòng trong Python, bạn sử dụng ký tự nào?
- A. //
- B. /* */
- C. #
- D. --
Câu 10: Hàm `len()` trong Python được sử dụng để làm gì?
- A. Tính giá trị tuyệt đối của một số
- B. Trả về độ dài (số phần tử) của một đối tượng.
- C. Tìm giá trị lớn nhất trong một dãy số
- D. Chuyển đổi một đối tượng sang kiểu chuỗi
Câu 11: Kiểu dữ liệu nào phù hợp nhất để lưu trữ giá trị logic (đúng/sai) trong Python?
- A. int
- B. float
- C. str
- D. bool
Câu 12: Phương thức `split()` thường được sử dụng với kiểu dữ liệu nào trong Python?
- A. list
- B. tuple
- C. str
- D. dict
Câu 13: Chọn phát biểu đúng về biến trong Python.
- A. Biến cần được khai báo kiểu dữ liệu trước khi sử dụng.
- B. Biến được tạo ra khi bạn gán giá trị cho nó lần đầu tiên.
- C. Tên biến không được chứa chữ số.
- D. Kiểu dữ liệu của biến không thể thay đổi trong quá trình chạy chương trình.
Câu 14: Để kiểm tra xem một khóa có tồn tại trong dictionary hay không, bạn sử dụng toán tử nào?
- A. in
- B. ==
- C. is
- D. has_key()
Câu 15: Đoạn mã sau in ra kết quả gì?
```python
x = [1, 2, 3]
y = x
y[0] = 10
print(x)
```
- A. [1, 2, 3]
- B. [10, 2, 3]
- C. [10, 2, 3]
- D. Lỗi
Câu 16: Hàm nào sau đây không phải là hàm built-in (tích hợp sẵn) trong Python?
- A. print()
- B. len()
- C. input()
- D. sqrt()
Câu 17: Để mở một file để đọc trong Python, bạn sử dụng mode nào trong hàm `open()`?
- A. "r"
- B. "w"
- C. "a"
- D. "x"
Câu 18: Cấu trúc nào sau đây thể hiện đúng cú pháp của vòng lặp `while` trong Python?
- A. while (<điều kiện>) {
}
- B. while <điều kiện>:
- C. loop while <điều kiện> do
end loop
- D. while <điều kiện> then
end while
Câu 19: Trong Python, exception `TypeError` thường xảy ra khi nào?
- A. Khi cố gắng truy cập một biến chưa được định nghĩa.
- B. Khi chia một số cho 0.
- C. Khi thực hiện một phép toán trên các kiểu dữ liệu không tương thích.
- D. Khi file không tồn tại.
Câu 20: Để sử dụng các hàm toán học như `sin`, `cos`, `sqrt`, bạn cần import module nào trong Python?
- A. os
- B. math
- C. sys
- D. random
Câu 21: Cho đoạn code:
```python
def calculate(a, b, operation="+"):
if operation == "+":
return a + b
elif operation == "-":
return a - b
else:
return
Câu 22: Phương thức `strip()` của chuỗi dùng để làm gì?
- A. Chuyển đổi chuỗi thành chữ hoa.
- B. Chuyển đổi chuỗi thành chữ thường.
- C. Tách chuỗi thành danh sách các từ.
- D. Loại bỏ khoảng trắng ở đầu và cuối chuỗi.
Câu 23: Để tạo một bản sao độc lập của một list (không phải tham chiếu), bạn có thể sử dụng phương pháp nào?
- A. Gán trực tiếp (ví dụ: `y = x`)
- B. Phương thức `copy()` hoặc slicing `[:]`
- C. Toán tử `+`
- D. Không có cách nào tạo bản sao độc lập trong Python.
Câu 24: Trong Python, bạn có thể sử dụng cấu trúc dữ liệu nào để lưu trữ các cặp key-value?
- A. list
- B. tuple
- C. dictionary
- D. set
Câu 25: Hàm `enumerate()` trong Python được sử dụng để làm gì trong vòng lặp `for`?
- A. Sắp xếp các phần tử trong iterable.
- B. Lấy cả index và giá trị của các phần tử trong iterable khi lặp.
- C. Đảo ngược thứ tự các phần tử trong iterable.
- D. Lọc các phần tử thỏa mãn một điều kiện nhất định.
Câu 26: Để định nghĩa một lớp (class) trong Python, bạn sử dụng từ khóa nào?
- A. class
- B. def
- C. object
- D. type
Câu 27: Phương thức đặc biệt nào được gọi khi một đối tượng của class được tạo ra trong Python?
- A. __str__()
- B. __del__()
- C. __init__()
- D. __new__()
Câu 28: Module `random` trong Python thường được sử dụng cho mục đích gì?
- A. Xử lý các tác vụ liên quan đến hệ điều hành.
- B. Tạo và làm việc với các số ngẫu nhiên.
- C. Thao tác với thời gian và ngày tháng.
- D. Gửi và nhận dữ liệu qua mạng.
Câu 29: Kiểu dữ liệu `set` trong Python có đặc điểm nổi bật nào?
- A. Các phần tử được sắp xếp theo thứ tự.
- B. Cho phép chứa các phần tử trùng lặp.
- C. Có thể truy cập phần tử bằng index.
- D. Chỉ chứa các phần tử duy nhất, không trùng lặp.
Câu 30: Cho đoạn code:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
print(factorial(4))
```
Đoạn code này tính giá trị nào?