Bài Tập, Đề Thi Trắc Nghiệm Online – Môn Lập Trình Python – Đề 04

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Môn Lập Trình Python

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python - Đề 04

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python - Đề 04 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: Bạn có một danh sách các số nguyên `numbers = [5, 10, 15, 20, 25]`. Bạn muốn tạo ra một danh sách mới chỉ chứa các số lớn hơn 15. Đoạn code Python nào sau đây thực hiện điều này hiệu quả nhất?

  • A. new_numbers = []
    for num in numbers:
    if num > 15:
    new_numbers.append(num)
  • B. new_numbers = [num for num in numbers if num > 15]
  • C. new_numbers = filter(lambda num: num > 15, numbers)
  • D. new_numbers = numbers.where(num > 15)

Câu 2: Cho đoạn code Python sau:
```python
def calculate_area(radius):
return 3.14 * radius ** 2

circle_radius = 5
area = calculate_area(circle_radius)
print(f

  • A. Hàm (Function) và tính mô-đun hóa
  • B. Vòng lặp (Loop) và tính lặp lại
  • C. Biến (Variable) và lưu trữ dữ liệu
  • D. Cấu trúc điều khiển (Conditional statement) và rẽ nhánh

Câu 3: Bạn cần viết một hàm Python để kiểm tra xem một chuỗi có phải là palindrome (đọc xuôi ngược như nhau) hay không. Cách tiếp cận nào sau đây là hiệu quả và Pythonic nhất?

  • A. def is_palindrome(text):
    reversed_text =
  • B. def is_palindrome(text):
    reversed_text = list(text)
    reversed_text.reverse()
    return list(text) == reversed_text
  • C. def is_palindrome(text):
    return text == text[::-1]
  • D. def is_palindrome(text):
    i = 0
    j = len(text) - 1
    while i < j: if text[i] != text[j]: return False i += 1 j -= 1 return True

Câu 4: Trong Python, kiểu dữ liệu `dictionary` (từ điển) được sử dụng để lưu trữ dữ liệu dạng cặp key-value. Phương pháp nào sau đây không phải là cách truy cập giá trị (value) từ một dictionary?

  • A. Sử dụng key trong ngoặc vuông, ví dụ `my_dict["key_name"]`
  • B. Sử dụng phương thức `.get(key)`, ví dụ `my_dict.get("key_name")`
  • C. Sử dụng phương thức `.keys()` để lấy danh sách keys, sau đó tìm key và truy cập giá trị.
  • D. Sử dụng index số học, ví dụ `my_dict[0]`

Câu 5: Xét đoạn code Python sau:
```python
try:
result = 10 / 0
except ZeroDivisionError:
result =

  • A. Lỗi ZeroDivisionError
  • B. 10.0
    Hoàn thành phép chia
  • C. Hoàn thành phép chia
    Không xác định
  • D. Hoàn thành phép chia
    0.0

Câu 6: Bạn có hai danh sách:
`names = ["Alice", "Bob", "Charlie"]`
`ages = [25, 30, 28]`
Bạn muốn tạo một dictionary, trong đó tên là key và tuổi là value. Cách nào sau đây là cách Pythonic nhất để đạt được điều này?

  • A. person_dict = {}
    for i in range(len(names)):
    person_dict[names[i]] = ages[i]
  • B. person_dict = dict(zip(names, ages))
  • C. person_dict = {}
    i = 0
    while i < len(names): person_dict[names[i]] = ages[i] i += 1
  • D. person_dict = {names: ages}

Câu 7: Trong Python, vòng lặp `for` thường được sử dụng để lặp qua các phần tử của một iterable (ví dụ: list, tuple, string). Cú pháp nào sau đây là sai khi sử dụng vòng lặp `for`?

  • A. for item in my_list:
    print(item)
  • B. for index, item in enumerate(my_list):
    print(index, item)
  • C. for char in my_string:
    print(char)
  • D. for item in my_list do:
    print(item)
    done

Câu 8: Hàm `open()` trong Python được sử dụng để làm gì?

  • A. Mở một file để đọc hoặc ghi dữ liệu
  • B. Đóng một file đã mở
  • C. Đọc dữ liệu từ một file
  • D. Ghi dữ liệu vào một file

Câu 9: Bạn có một chuỗi `text = " Hello, Python! "`. Bạn muốn loại bỏ khoảng trắng thừa ở đầu và cuối chuỗi. Phương thức chuỗi nào sau đây phù hợp nhất?

  • A. text.replace(" ", "")
  • B. text.strip()
  • C. text.split()
  • D. text.lower()

Câu 10: Trong Python, bạn muốn kiểm tra xem một biến `x` có thuộc kiểu dữ liệu danh sách (list) hay không. Cách nào sau đây là đúng?

  • A. type(x) == "list"
  • B. x.type() == list
  • C. isinstance(x, list)
  • D. typeof(x) == list

Câu 11: Bạn cần sắp xếp một danh sách các chuỗi theo thứ tự bảng chữ cái. Phương thức nào sau đây của danh sách sẽ thực hiện việc này trực tiếp trên danh sách ban đầu?

  • A. list.sort()
  • B. sorted(list)
  • C. list.sorted()
  • D. list.order()

Câu 12: Đoạn code Python sau thực hiện công việc gì?
```python
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
print(list(squared_numbers))
```

  • A. Tính tổng các số trong danh sách.
  • B. Tính bình phương của mỗi số trong danh sách.
  • C. Lọc các số chẵn từ danh sách.
  • D. Nhân mỗi số trong danh sách với 2.

Câu 13: Trong Python, toán tử `%` được gọi là toán tử gì và nó thực hiện phép toán nào?

  • A. Toán tử phần trăm, tính tỷ lệ phần trăm.
  • B. Toán tử lũy thừa, tính lũy thừa.
  • C. Toán tử modulo, tính phần dư của phép chia.
  • D. Toán tử chia nguyên, tính phần nguyên của phép chia.

Câu 14: Bạn muốn viết một hàm Python nhận vào một số lượng đối số tùy ý. Cú pháp nào sau đây cho phép bạn định nghĩa một hàm như vậy?

  • A. def my_function(arguments):
  • B. def my_function(*args):
  • C. def my_function(**kwargs):
  • D. def my_function(…args):

Câu 15: Kiểu dữ liệu nào sau đây là immutable (bất biến) trong Python?

  • A. tuple
  • B. list
  • C. dictionary
  • D. set

Câu 16: Phương thức `.append()` được sử dụng với kiểu dữ liệu nào trong Python và nó làm gì?

  • A. Chuỗi (string), thêm một chuỗi vào cuối chuỗi hiện tại.
  • B. Danh sách (list), thêm một phần tử vào cuối danh sách.
  • C. Từ điển (dictionary), thêm một cặp key-value mới vào từ điển.
  • D. Tuple, thêm một phần tử vào cuối tuple.

Câu 17: Bạn muốn tạo một bản sao nông (shallow copy) của một danh sách. Cách nào sau đây là đúng?

  • A. new_list = list
  • B. import copy
    new_list = copy.deepcopy(list)
  • C. new_list = list[:]
  • D. new_list = list.clone()

Câu 18: Trong Python, bạn có thể sử dụng từ khóa nào để thoát khỏi vòng lặp hiện tại và tiếp tục với lần lặp tiếp theo?

  • A. break
  • B. continue
  • C. pass
  • D. exit

Câu 19: Hàm `len()` trong Python trả về giá trị gì?

  • A. Trả về độ dài (số phần tử) của một đối tượng iterable.
  • B. Trả về kiểu dữ liệu của một đối tượng.
  • C. Trả về giá trị lớn nhất trong một danh sách số.
  • D. Trả về tổng của các số trong một danh sách.

Câu 20: Để viết comment một dòng trong Python, bạn sử dụng ký tự nào ở đầu dòng?

  • A. //
  • B. /*
  • C. */
  • D. #

Câu 21: Bạn có một số thực `number = 3.14159`. Bạn muốn định dạng số này thành chuỗi chỉ có 2 chữ số thập phân. Cách nào sau đây là đúng?

  • A. str(round(number, 2))
  • B. f"{number:.2f}"
  • C. format(number, ".2f")
  • D. "%.2f" % number

Câu 22: Trong Python, bạn muốn lấy ngẫu nhiên một phần tử từ một danh sách. Module nào bạn cần import và hàm nào bạn sẽ sử dụng?

  • A. Module: `math`, Hàm: `math.random()`
  • B. Module: `os`, Hàm: `os.random()`
  • C. Module: `random`, Hàm: `random.choice()`
  • D. Module: `numpy`, Hàm: `numpy.random.choice()`

Câu 23: Đoạn code Python sau sẽ in ra giá trị nào?
```python
x = 5
def modify_x():
global x
x = 10
modify_x()
print(x)
```

  • A. 5
  • B. 10
  • C. Lỗi NameError
  • D. Không có output

Câu 24: Bạn muốn kiểm tra xem một key có tồn tại trong một dictionary hay không. Cách nào sau đây là hiệu quả nhất?

  • A. `key in my_dict`
  • B. `my_dict.has_key(key)`
  • C. `my_dict.keys().contains(key)`
  • D. `my_dict[key] != None`

Câu 25: Trong Python, bạn có thể sử dụng cấu trúc nào để thực hiện lặp vô hạn (infinite loop)?

  • A. for i in range():
  • B. for item in []:
  • C. while True:
  • D. if True:

Câu 26: Bạn cần viết một hàm Python để tính giai thừa của một số nguyên dương. Phương pháp nào sau đây sử dụng đệ quy (recursion)?

  • A. def factorial_iterative(n):
    result = 1
    for i in range(1, n + 1):
    result *= i
    return result
  • B. def factorial_recursive(n):
    if n == 0 or n == 1:
    return 1
    else:
    return n * factorial_recursive(n - 1)
  • C. def factorial_formula(n):
    import math
    return math.factorial(n)
  • D. def factorial_loop(n):
    while n > 1:
    n *= (n - 1)
    return n

Câu 27: Bạn muốn hợp nhất hai dictionary trong Python. Nếu có key trùng lặp, bạn muốn giá trị từ dictionary thứ hai được ưu tiên. Cách nào sau đây là Pythonic nhất?

  • A. merged_dict = dict1 + dict2
  • B. merged_dict = dict1.merge(dict2)
  • C. merged_dict = dict1.copy()
    merged_dict.update(dict2)
  • D. merged_dict = {**dict1, **dict2}

Câu 28: Bạn có một list các tuple, mỗi tuple chứa tên và điểm số của học sinh: `students = [("Alice", 85), ("Bob", 92), ("Charlie", 78)]`. Bạn muốn sắp xếp danh sách này theo điểm số giảm dần. Cách nào sau đây là đúng?

  • A. students.sort()
  • B. sorted(students)
  • C. students.sort(key=lambda student: student[0])
  • D. sorted(students, key=lambda student: student[1], reverse=True)

Câu 29: Trong Python, bạn có thể sử dụng `with open(...) as file:` để làm gì?

  • A. Mở file ở chế độ chỉ đọc.
  • B. Mở file và đảm bảo file được đóng tự động sau khi sử dụng.
  • C. Tạo một file mới nếu file không tồn tại.
  • D. Đổi tên một file.

Câu 30: Bạn muốn tạo một set chứa các phần tử duy nhất từ một list có thể chứa các phần tử trùng lặp. Cách nào sau đây là nhanh nhất và hiệu quả nhất?

  • A. unique_elements = set(my_list)
  • B. unique_elements = []
    for item in my_list:
    if item not in unique_elements:
    unique_elements.append(item)
  • C. unique_elements = dict.fromkeys(my_list).keys()
  • D. unique_elements = my_list.distinct()

1 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 1: Bạn có một danh sách các số nguyên `numbers = [5, 10, 15, 20, 25]`. Bạn muốn tạo ra một danh sách mới chỉ chứa các số lớn hơn 15. Đoạn code Python nào sau đây thực hiện điều này hiệu quả nhất?

2 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 2: Cho đoạn code Python sau:
```python
def calculate_area(radius):
return 3.14 * radius ** 2

circle_radius = 5
area = calculate_area(circle_radius)
print(f"Diện tích hình tròn là: {area}")
```
Đoạn code này minh họa khái niệm lập trình nào?

3 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 3: Bạn cần viết một hàm Python để kiểm tra xem một chuỗi có phải là palindrome (đọc xuôi ngược như nhau) hay không. Cách tiếp cận nào sau đây là hiệu quả và Pythonic nhất?

4 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 4: Trong Python, kiểu dữ liệu `dictionary` (từ điển) được sử dụng để lưu trữ dữ liệu dạng cặp key-value. Phương pháp nào sau đây *không* phải là cách truy cập giá trị (value) từ một dictionary?

5 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 5: Xét đoạn code Python sau:
```python
try:
result = 10 / 0
except ZeroDivisionError:
result = "Không xác định"
finally:
print("Hoàn thành phép chia")
print(result)
```
Đoạn code này sẽ in ra màn hình kết quả gì?

6 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 6: Bạn có hai danh sách:
`names = ['Alice', 'Bob', 'Charlie']`
`ages = [25, 30, 28]`
Bạn muốn tạo một dictionary, trong đó tên là key và tuổi là value. Cách nào sau đây là cách Pythonic nhất để đạt được điều này?

7 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 7: Trong Python, vòng lặp `for` thường được sử dụng để lặp qua các phần tử của một iterable (ví dụ: list, tuple, string). Cú pháp nào sau đây là *sai* khi sử dụng vòng lặp `for`?

8 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 8: Hàm `open()` trong Python được sử dụng để làm gì?

9 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 9: Bạn có một chuỗi `text = ' Hello, Python! '`. Bạn muốn loại bỏ khoảng trắng thừa ở đầu và cuối chuỗi. Phương thức chuỗi nào sau đây phù hợp nhất?

10 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 10: Trong Python, bạn muốn kiểm tra xem một biến `x` có thuộc kiểu dữ liệu danh sách (list) hay không. Cách nào sau đây là đúng?

11 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 11: Bạn cần sắp xếp một danh sách các chuỗi theo thứ tự bảng chữ cái. Phương thức nào sau đây của danh sách sẽ thực hiện việc này *trực tiếp* trên danh sách ban đầu?

12 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 12: Đoạn code Python sau thực hiện công việc gì?
```python
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
print(list(squared_numbers))
```

13 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 13: Trong Python, toán tử `%` được gọi là toán tử gì và nó thực hiện phép toán nào?

14 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 14: Bạn muốn viết một hàm Python nhận vào một số lượng đối số tùy ý. Cú pháp nào sau đây cho phép bạn định nghĩa một hàm như vậy?

15 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 15: Kiểu dữ liệu nào sau đây là *immutable* (bất biến) trong Python?

16 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 16: Phương thức `.append()` được sử dụng với kiểu dữ liệu nào trong Python và nó làm gì?

17 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 17: Bạn muốn tạo một bản sao *nông* (shallow copy) của một danh sách. Cách nào sau đây là đúng?

18 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 18: Trong Python, bạn có thể sử dụng từ khóa nào để thoát khỏi vòng lặp hiện tại và tiếp tục với lần lặp tiếp theo?

19 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 19: Hàm `len()` trong Python trả về giá trị gì?

20 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 20: Để viết comment một dòng trong Python, bạn sử dụng ký tự nào ở đầu dòng?

21 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 21: Bạn có một số thực `number = 3.14159`. Bạn muốn định dạng số này thành chuỗi chỉ có 2 chữ số thập phân. Cách nào sau đây là đúng?

22 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 22: Trong Python, bạn muốn lấy ngẫu nhiên một phần tử từ một danh sách. Module nào bạn cần import và hàm nào bạn sẽ sử dụng?

23 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 23: Đoạn code Python sau sẽ in ra giá trị nào?
```python
x = 5
def modify_x():
global x
x = 10
modify_x()
print(x)
```

24 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 24: Bạn muốn kiểm tra xem một key có tồn tại trong một dictionary hay không. Cách nào sau đây là hiệu quả nhất?

25 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 25: Trong Python, bạn có thể sử dụng cấu trúc nào để thực hiện lặp vô hạn (infinite loop)?

26 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 26: Bạn cần viết một hàm Python để tính giai thừa của một số nguyên dương. Phương pháp nào sau đây sử dụng đệ quy (recursion)?

27 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 27: Bạn muốn hợp nhất hai dictionary trong Python. Nếu có key trùng lặp, bạn muốn giá trị từ dictionary thứ hai được ưu tiên. Cách nào sau đây là Pythonic nhất?

28 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 28: Bạn có một list các tuple, mỗi tuple chứa tên và điểm số của học sinh: `students = [('Alice', 85), ('Bob', 92), ('Charlie', 78)]`. Bạn muốn sắp xếp danh sách này theo điểm số giảm dần. Cách nào sau đây là đúng?

29 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 29: Trong Python, bạn có thể sử dụng `with open(...) as file:` để làm gì?

30 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình Python

Tags: Bộ đề 4

Câu 30: Bạn muốn tạo một set chứa các phần tử duy nhất từ một list có thể chứa các phần tử trùng lặp. Cách nào sau đây là nhanh nhất và hiệu quả nhất?

Xem kết quả