Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python 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: Đoạn mã Python sau thực hiện công việc gì?
```python
def process_data(data):
results = []
for item in data:
if isinstance(item, int) and item > 0:
results.append(item * 2)
elif isinstance(item, str):
results.append(item.upper())
return results
data = [1, -2, "hello", 5, "world", 0]
processed_data = process_data(data)
print(processed_data)```
- A. Tính tổng các số và độ dài các chuỗi trong danh sách.
- B. Lọc các số âm và chuỗi ngắn khỏi danh sách.
- C. Nhân đôi các số nguyên dương và viết hoa các chuỗi trong danh sách.
- D. Đếm số lượng số và chuỗi trong danh sách đầu vào.
Câu 2: Cho danh sách `numbers = [15, 22, 8, 35, 12]`. Sử dụng list comprehension, làm thế nào để tạo ra một danh sách mới chỉ chứa các số chẵn từ danh sách `numbers`?
- A. `even_numbers = [num for num in numbers if num % 2 != 0]`
- B. `even_numbers = [num for num in numbers if num % 2 == 0]`
- C. `even_numbers = for num in numbers if num % 2 == 0: num`
- D. `even_numbers = filter(lambda x: x % 2 == 0, numbers)`
Câu 3: Hàm nào sau đây trong Python được sử dụng để mở một tập tin ở chế độ chỉ đọc?
- A. `open(filename, "r")`
- B. `file.read(filename)`
- C. `read_file(filename)`
- D. `open(filename, "w")`
Câu 4: Giả sử bạn có một chuỗi `text = "Python is fun"`. Đoạn mã nào sau đây sẽ trả về chuỗi `"FUN IS PYTHON"`?
- A. `text.upper().split().reverse().join(" ")`
- B. `" ".join(reversed(text.split())).upper()`
- C. `text.split().upper().reverse()." ".join()`
- D. `" ".join(text.upper().split()[::-1])`
Câu 5: 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 6: Bạn muốn xử lý ngoại lệ `TypeError` có thể xảy ra khi thực hiện một phép toán không hợp lệ. Cấu trúc `try...except` nào sau đây là đúng?
- A. `try:
# Mã có thể gây lỗi
catch TypeError:
# Xử lý lỗi`
- B. `try:
# Mã có thể gây lỗi
except TypeError:
# Xử lý lỗi`
- C. `attempt:
# Mã có thể gây lỗi
except TypeError:
# Xử lý lỗi`
- D. `try:
# Mã có thể gây lỗi
except:
if error is TypeError:
# Xử lý lỗi`
Câu 7: Cho đoạn mã sau:
```python
def calculate(x, y, operation="+"):
if operation == "+":
return x + y
elif operation == "-":
return x - y
else:
return "Invalid operation"
result = calculate(5, 3, "*")
print(result)```
Kết quả in ra màn hình là gì?
- A. 8
- B. 2
- C. 15
- D. `"Invalid operation"`
Câu 8: Để thêm một phần tử vào cuối danh sách trong Python, phương thức nào sau đây được sử dụng?
- A. `insert()`
- B. `append()`
- C. `add()`
- D. `extend()`
Câu 9: Vòng lặp `for` trong Python thường được sử dụng để làm gì?
- A. Thực hiện một khối mã một lần duy nhất.
- B. Lặp lại một khối mã cho đến khi một điều kiện sai.
- C. Duyệt qua các phần tử của một chuỗi, danh sách, hoặc iterable khác.
- D. Định nghĩa một hàm mới.
Câu 10: Module `math` trong Python cung cấp những chức năng gì?
- A. Các hàm và hằng số toán học.
- B. Các hàm xử lý chuỗi.
- C. Các hàm làm việc với hệ điều hành.
- D. Các hàm để tạo giao diện đồ họa.
Câu 11: Cho đoạn mã sau:
```python
x = 10
def modify_x():
x = 5
print(x)
modify_x()
print(x)```
Giá trị nào sẽ được in ra màn hình?
- A. 10
10
- B. 5
10
- C. 5
5
- D. 10
5
Câu 12: Hàm `range(start, stop, step)` trong Python tạo ra dãy số như thế nào?
- A. Dãy số từ `start` đến `stop` (bao gồm cả `stop`) với bước nhảy `step`.
- B. Dãy số từ 0 đến `stop` với bước nhảy `start`.
- C. Dãy số từ `start` đến `stop` (không bao gồm `stop`) với bước nhảy `step`.
- D. Dãy số ngẫu nhiên từ `start` đến `stop`.
Câu 13: Để kiểm tra xem một khóa có tồn tại trong từ điển (dictionary) hay không, bạn sử dụng toán tử nào?
- A. `is_key()`
- B. `has_key()`
- C. `exists()`
- D. `in`
Câu 14: Hàm `lambda` trong Python được sử dụng để tạo ra loại hàm nào?
- A. Hàm đệ quy.
- B. Hàm ẩn danh (anonymous function).
- C. Hàm tạo sinh (generator function).
- D. Hàm trang trí (decorator function).
Câu 15: Phương thức `split()` của chuỗi trong Python trả về kiểu dữ liệu gì?
- A. tuple
- B. string
- C. list
- D. set
Câu 16: Cho hai tập hợp (set) `set1 = {1, 2, 3}` và `set2 = {3, 4, 5}`. Phép toán nào sau đây trả về tập hợp `{1, 2}`?
- A. `set1 - set2`
- B. `set1 | set2`
- C. `set1 & set2`
- D. `set2 - set1`
Câu 17: Trong lập trình hướng đối tượng Python, `self` có nghĩa là gì?
- A. Một từ khóa để khai báo biến toàn cục.
- B. Một lớp cha mặc định của tất cả các lớp.
- C. Tham chiếu đến đối tượng hiện tại của lớp.
- D. Tên của phương thức khởi tạo (constructor).
Câu 18: Để cài đặt một thư viện Python từ PyPI (Python Package Index), bạn thường sử dụng lệnh nào?
- A. `python install `
- B. `pip install `
- C. `install python `
- D. `conda install `
Câu 19: Hàm `enumerate()` trong Python trả về điều gì khi được sử dụng với một danh sách?
- A. Tổng các phần tử trong danh sách.
- B. Một danh sách mới chứa các phần tử của danh sách gốc.
- C. Số lượng phần tử trong danh sách.
- D. Một iterator của các cặp (index, value) cho mỗi phần tử trong danh sách.
Câu 20: Biểu thức chính quy (regex) `r"d+"` trong Python dùng để làm gì?
- A. Khớp với bất kỳ ký tự chữ cái nào.
- B. Khớp với khoảng trắng.
- C. Khớp với một hoặc nhiều chữ số.
- D. Khớp với dấu chấm câu.
Câu 21: Cho đoạn mã sau:
```python
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
print(list(squared_numbers))```
Kết quả in ra màn hình là gì?
- A. `[1, 4, 9, 16, 25]`
- B. `[1, 2, 3, 4, 5]`
- C. `[2, 4, 6, 8, 10]`
- D. `[1, 8, 27, 64, 125]`
Câu 22: Phương thức `strip()` của chuỗi trong Python dùng để làm gì?
- A. Tách chuỗi thành danh sách các từ.
- B. Loại bỏ khoảng trắng ở đầu và cuối chuỗi.
- C. Chuyển đổi chuỗi thành chữ thường.
- D. Đếm số lượng ký tự trong chuỗi.
Câu 23: Hàm `zip()` trong Python được sử dụng để làm gì?
- A. Sắp xếp các phần tử trong danh sách.
- B. Lọc các phần tử trùng lặp từ danh sách.
- C. Kết hợp các phần tử từ nhiều iterable (ví dụ: danh sách) thành các tuple.
- D. Đảo ngược thứ tự các phần tử trong danh sách.
Câu 24: Để viết chú thích một dòng trong Python, bạn sử dụng ký tự nào?
- A. `#`
- B. `//`
- C. `/*`
- D. `--`
Câu 25: Kiểu dữ liệu nào trong Python được sử dụng để lưu trữ một chuỗi các ký tự Unicode?
- A. `bytes`
- B. `char`
- C. `ascii`
- D. `str`
Câu 26: Cho đoạn mã sau:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
print(factorial(4))```
Kết quả in ra màn hình là gì?
Câu 27: Module `random` trong Python thường được sử dụng cho mục đích gì?
- A. Xử lý các phép toán số học phức tạp.
- B. Tạo và làm việc với số ngẫu nhiên.
- C. Quản lý và thao tác với file và thư mục.
- D. Xây dựng giao diện người dùng đồ họa.
Câu 28: Trong Python, `__init__` là phương thức đặc biệt dùng để làm gì trong một lớp?
- A. Phương thức hủy đối tượng (destructor).
- B. Phương thức để in đối tượng ra màn hình.
- C. Phương thức để so sánh hai đối tượng.
- D. Phương thức khởi tạo đối tượng (constructor).
Câu 29: Để đọc tất cả các dòng từ một file văn bản trong Python và lưu chúng vào một danh sách, bạn sử dụng phương thức nào của đối tượng file?
- A. `read()`
- B. `readline()`
- C. `readlines()`
- D. `readall()`
Câu 30: Cho danh sách `data = [10, 5, 20, 8, 15]`. Sử dụng hàm `sorted()` và lambda function, làm thế nào để sắp xếp danh sách `data` theo thứ tự giảm dần?
- A. `sorted(data, key=lambda x: x)`
- B. `sorted(data, key=lambda x: x, reverse=True)`
- C. `data.sort(key=lambda x: x, reverse=True)`
- D. `sorted(data.reverse(), key=lambda x: x)`