Ôn luyện lý thuyết và thực hành
Exam info
- Subject
- Nhập môn Lập trình Python
- Exam type
- University
- Questions
- 50
- Duration
- 60 min
- Year
- 2026
- Answers
- ✓ With explanations
- School
- Khoa Công nghệ Thông tin
Questions (50)
- Q 1.
Tên biến nào sau đây là hợp lệ theo chuẩn cú pháp của ngôn ngữ Python?
- A.
2026_data - B.
_total_score - C.
class - D.
user-name
- A.
- Q 2.
Kiểu dữ liệu nào dưới đây thuộc nhóm bất biến (immutable) trong Python?
- A.
list - B.
dict - C.
tuple - D.
set
- A.
- Q 3.
Trong Python, toán tử nào được sử dụng để thực hiện phép chia lấy phần nguyên?
- A.
/ - B.
% - C.
// - D.
**
- A.
- Q 4.
Đặc điểm nào sau đây mô tả đúng nhất về cấu trúc dữ liệu
settrong Python?- A.
Có thứ tự, các phần tử có thể trùng lặp, truy cập qua chỉ số.
- B.
Không có thứ tự, các phần tử là duy nhất, không thể chứa phần tử trùng lặp.
- C.
Có thứ tự, lưu trữ dữ liệu dưới dạng cặp
key: value. - D.
Bất biến, không thể thêm hoặc xoá phần tử sau khi khởi tạo.
- A.
- Q 5.
Từ khoá nào được sử dụng để định nghĩa một hàm ẩn danh (không cần đặt tên) trong Python?
- A.
def - B.
func - C.
anonymous - D.
lambda
- A.
- Q 6.
Trong định nghĩa hàm, các tham số có giá trị mặc định (default parameters) phải được đặt ở vị trí nào?
- A.
Đặt ở bất kỳ vị trí nào tuỳ ý.
- B.
Đặt trước tất cả các tham số không có giá trị mặc định.
- C.
Đặt sau tất cả các tham số không có giá trị mặc định.
- D.
Bắt buộc phải đặt ở vị trí đầu tiên của danh sách tham số.
- A.
- Q 7.
Khối lệnh nào trong cấu trúc
try...except...finallysẽ luôn luôn được thực thi dù có ngoại lệ xảy ra hay không?- A.
Khối
try - B.
Khối
except - C.
Khối
else - D.
Khối
finally
- A.
- Q 8.
Phương thức nào sau đây của kiểu chuỗi (
str) trả về một danh sách các từ được tách bởi khoảng trắng mặc định?- A.
strip() - B.
split() - C.
partition() - D.
replace()
- A.
- Q 9.
Mục đích cốt lõi của thư viện
NumPytrong hệ sinh thái Python là gì?- A.
Thiết kế giao diện đồ hoạ cho ứng dụng máy tính.
- B.
Cung cấp đối tượng mảng đa chiều hiệu năng cao và các hàm toán học xử lý mảng.
- C.
Quản lý cơ sở dữ liệu quan hệ và lập trình mạng.
- D.
Phát triển các dịch vụ web và API RESTful.
- A.
- Q 10.
Thư viện
Matplotlib(đặc biệt là modulepyplot) chủ yếu được sử dụng để làm gì?- A.
Xây dựng các mô hình học sâu phức tạp.
- B.
Trực quan hoá dữ liệu dưới dạng các đồ thị, biểu đồ 2D.
- C.
Xử lý âm thanh và nén video đa phương tiện.
- D.
Giải toán đại số ký hiệu và tính đạo hàm hình thức.
- A.
- Q 11.
Thư viện
SciPyđược xây dựng dựa trênNumPychủ yếu nhằm mục đích cung cấp công cụ cho:- A.
Lập trình giao diện người dùng bằng Tkinter.
- B.
Các thuật toán tính toán khoa học chuyên sâu như tích phân, tối ưu hoá, biến đổi Fourier, đại số tuyến tính.
- C.
Thu thập dữ liệu web tự động và phân tích HTML.
- D.
Lập trình trò chơi điện tử hai chiều.
- A.
- Q 12.
Trong lĩnh vực Khoa học dữ liệu và Học máy với Python, thư viện
Joblibthường được ứng dụng phổ biến nhất để:- A.
Trực quan hoá dữ liệu thời gian thực.
- B.
Tuần tự hoá, lưu trữ/tải các đối tượng Python lớn (như mô hình Scikit-Learn) và xử lý song song đơn giản.
- C.
Quản lý bộ nhớ đệm của trình duyệt web.
- D.
Tạo tài liệu báo cáo tự động sang định dạng PDF.
- A.
- Q 13.
Thư viện
SymPytrong Python có vai trò chính là gì?- A.
Tính toán số học ma trận cực lớn trên GPU.
- B.
Tính toán toán học ký hiệu (Symbolic Mathematics) như giải phương trình đại số, rút gọn biểu thức, tích phân giải tích.
- C.
Xử lý ngôn ngữ tự nhiên và dịch máy tự động.
- D.
Thu thập và làm sạch dữ liệu từ tệp Excel.
- A.
- Q 14.
Cú pháp nào sau đây giúp mở tệp văn bản đảm bảo tệp luôn được đóng tự động và giải phóng tài nguyên an toàn?
- A.
file = open("data.txt", "r") - B.
with open("data.txt", "r") as file: - C.
open file as "data.txt": - D.
file.open("data.txt", mode="safe")
- A.
- Q 15.
Trong lập trình hướng đối tượng (OOP) của Python, phương thức
__init__đóng vai trò là:- A.
Phương thức huỷ đối tượng khi hết vòng đời.
- B.
Phương thức khởi tạo (constructor) được tự động gọi khi tạo mới một đối tượng của lớp.
- C.
Phương thức tĩnh (static method) không cần truyền đối số.
- D.
Phương thức kiểm tra kiểu dữ liệu của lớp con.
- A.
- Q 16.
Cho đoạn mã sau:
s = "Python2027"
print(s[1:7:2])Kết quả in ra màn hình là gì?
- A.
yhn - B.
yhn2 - C.
Pto - D.
yho
- A.
- Q 17.
Cho đoạn mã sau:
a = [1, 2, 3]
b = a
b.append(4)
print(len(a))Kết quả in ra màn hình là gì?
- A.
3 - B.
4 - C.
5 - D.
Báo lỗi
AttributeError
- A.
- Q 18.
Cho đoạn mã sau:
res = [x * 2 for x in range(6) if x % 2 != 0]
print(res)Kết quả in ra màn hình là gì?
- A.
[2, 6, 10] - B.
[0, 4, 8] - C.
[1, 3, 5] - D.
[2, 4, 6]
- A.
- Q 19.
Cho đoạn mã sau:
for i in range(1, 5):
if i == 3:
break
else:
print("Done")
print(i)Kết quả in ra màn hình là gì?
- A.
Dòng 1:
Done, Dòng 2:3 - B.
3 - C.
Dòng 1:
Done, Dòng 2:4 - D.
4
- A.
- Q 20.
Cho đoạn mã sau:
x = 10
while x > 3:
x -= 3
print(x)Kết quả in ra màn hình là gì?
- A.
1 - B.
3 - C.
0 - D.
4
- A.
- Q 21.
Cho đoạn mã sau:
info = {"name": "An", "score": 85}
val = info.get("age", 20)
print(val)Kết quả in ra màn hình là gì?
- A.
None - B.
20 - C.
Gây ra lỗi
KeyError - D.
85
- A.
- Q 22.
Cho đoạn mã sau:
a, b = 3, 5
a, b = b, a + b
print(a, b)Kết quả in ra màn hình là gì?
- A.
5 8 - B.
5 10 - C.
3 8 - D.
8 5
- A.
- Q 23.
Cho hàm sau:
def calc(n):
if n <= 1:
return 1
return n * calc(n - 1)
print(calc(4))Kết quả in ra màn hình là gì?
- A.
10 - B.
16 - C.
24 - D.
120
- A.
- Q 24.
Cho đoạn mã sau:
def my_func(*args):
return sum(args)
print(my_func(10, 20, 30))Kết quả in ra màn hình là gì?
- A.
60 - B.
[10, 20, 30] - C.
(10, 20, 30) - D.
Báo lỗi
TypeError
- A.
- Q 25.
Cho đoạn mã sau:
val = 5
def update_val():
global val
val += 10
update_val()
print(val)Kết quả in ra màn hình là gì?
- A.
5 - B.
10 - C.
15 - D.
Báo lỗi
UnboundLocalError
- A.
- Q 26.
Cho đoạn mã sau:
words = ["Python", "de", "hoc"]
msg = "-".join(words)
print(msg)Kết quả in ra màn hình là gì?
- A.
Python de hoc- - B.
Python-de-hoc - C.
['Python', 'de', 'hoc'] - D.
-Python-de-hoc-
- A.
- Q 27.
Cho đoạn mã sau:
nums = [1, 2, 3]
try:
print(nums[3])
except IndexError:
print("Loi chi so")
except Exception:
print("Loi khac")Kết quả in ra màn hình là gì?
- A.
3 - B.
Loi chi so - C.
Loi khac - D.
Chương trình bị dừng đột ngột và báo lỗi
- A.
- Q 28.
Giả sử tệp
sample.txtcó nội dung gồm 3 dòng:Dong 1
Dong 2
Dong 3Quan sát đoạn mã sau:
with open("sample.txt", "r") as f:
line = f.readline()
print(len(line.strip()))Kết quả in ra màn hình là gì?
- A.
6 - B.
18 - C.
1 - D.
3
- A.
- Q 29.
Để mở một tệp văn bản và ghi tiếp nội dung vào cuối tệp mà không xoá nội dung cũ, lập trình viên cần sử dụng chế độ (mode) nào trong hàm
open()?- A.
'r+' - B.
'w' - C.
'a' - D.
'x'
- A.
- Q 30.
Cho đoạn mã thao tác với thư viện NumPy:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
matrix = arr.reshape(2, 3)
print(matrix.shape)Kết quả in ra màn hình là gì?
- A.
(6,) - B.
(2, 3) - C.
(3, 2) - D.
[2, 3]
- A.
- Q 31.
Cho đoạn mã sau:
import numpy as np
arr = np.array([[1, 2], [3, 4]])
res = arr + 10
print(res[0, 1])Kết quả in ra màn hình là gì?
- A.
11 - B.
12 - C.
13 - D.
14
- A.
- Q 32.
Cho đoạn mã lọc dữ liệu mảng NumPy:
import numpy as np
a = np.array([10, 15, 20, 25, 30])
mask = a > 20
print(a[mask])Kết quả in ra màn hình là gì?
- A.
[20, 25, 30] - B.
[25, 30] - C.
[True, True] - D.
25
- A.
- Q 33.
Cho hai mảng NumPy sau:
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[2, 0], [1, 2]])
C = A @ B
print(C[1, 0])Kết quả in ra màn hình là gì?
- A.
6 - B.
10 - C.
8 - D.
4
- A.
- Q 34.
Cho đoạn mã sử dụng thư viện Pandas:
import pandas as pd
data = {"Name": ["Nam", "Lan", "Huy"], "Age": [19, 21, 20]}
df = pd.DataFrame(data)
print(df.iloc[1]["Name"])Kết quả in ra màn hình là gì?
- A.
Nam - B.
Lan - C.
Huy - D.
Age
- A.
- Q 35.
Cho DataFrame
dfnhư sau:import pandas as pd
df = pd.DataFrame({"Score": [4.5, 7.0, 8.5, 9.0, 3.0]})
filtered_df = df[df["Score"] >= 7.0]
print(len(filtered_df))Kết quả in ra màn hình là gì?
- A.
2 - B.
3 - C.
4 - D.
5
- A.
- Q 36.
Để vẽ biểu đồ dạng phân tán (scatter plot) thể hiện mối tương quan giữa hai biến liên tục và bằng thư viện
matplotlib.pyplot, hàm nào sau đây được sử dụng?- A.
plt.plot(x, y) - B.
plt.bar(x, y) - C.
plt.scatter(x, y) - D.
plt.hist(x)
- A.
- Q 37.
Cho đoạn mã thiết lập biểu đồ:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])... LỆNH CẦN ĐIỀN ...
Để đặt tiêu đề phía trên cho toàn bộ biểu đồ, lệnh cần điền là gì?
- A.
plt.xlabel("Bieu do") - B.
plt.set_name("Bieu do") - C.
plt.title("Bieu do") - D.
plt.header("Bieu do")
- A.
- Q 38.
Cho đoạn mã sử dụng
scipy.optimize:from scipy.optimize import minimize
def f(x):
return (x - 3)**2 + 5
res = minimize(f, x0=0)
print(round(res.x[0]))Kết quả in ra màn hình là gì?
- A.
0 - B.
3 - C.
5 - D.
9
- A.
- Q 39.
Cho đoạn mã sử dụng thư viện
SymPy:import sympy as sp
x = sp.Symbol('x')
expr = x**2 - 9
solutions = sp.solve(expr, x)
print(solutions)Kết quả in ra màn hình là gì?
- A.
[3] - B.
[-3, 3] - C.
[9] - D.
(-3, 3)
- A.
- Q 40.
Để lưu trữ một mô hình đã huấn luyện có tên
modelvào tệp nhị phânmodel.pklbằng thư việnjoblib, lệnh nào sau đây là đúng?- A.
joblib.save(model, "model.pkl") - B.
joblib.dump(model, "model.pkl") - C.
joblib.write("model.pkl", model) - D.
joblib.export(model, file="model.pkl")
- A.
- Q 41.
Cần điền mã vào vị trí
...để hàm sau trả về số chẵn lớn nhất trong một danh sách các số nguyên dương:def max_even(lst):
evens = [x for x in lst if x % 2 == 0]
if not evens:
return None
return ...Đoạn mã cần điền vào
...là gì?- A.
max(evens) - B.
min(evens) - C.
evens[-1] - D.
len(evens)
- A.
- Q 42.
Cho chuỗi
text = "python". Đoạn mã nào sau đây tạo ra chuỗi đảo ngược"nohtyp"ngắn gọn nhất?- A.
text.reverse() - B.
text[::-1] - C.
text[-1:0] - D.
reversed(text)
- A.
- Q 43.
Đoạn mã nào sau đây gây ra lỗi cú pháp SyntaxError khi thông dịch?
- A.
if x == 5 print(x) - B.
x = 5 / 0 - C.
lst = [1, 2] print(lst[5]) - D.
d = {"a": 1} print(d["b"])
- A.
- Q 44.
Dòng lệnh nào sau đây gây ra lỗi TypeError trong thời gian chạy?
- A.
int("123") - B.
"Tuoi: " + str(20) - C.
"Diem: " + 10 - D.
float(5)
- A.
- Q 45.
Cho đoạn mã sau:
d = {"id": 101, "role": "admin"}
print(d["status"])Chương trình sẽ dừng lại và ném ra ngoại lệ nào?
- A.
ValueError - B.
IndexError - C.
KeyError - D.
NameError
- A.
- Q 46.
Cho đoạn mã định nghĩa lớp kế thừa sau:
class Person:
def init(self, name):
self.name = name
class Student(Person):
def init(self, name, major):
super().init(name)
self.major = major
st = Student("Hai", "AI")
print(st.name, st.major)Kết quả in ra màn hình là gì?
- A.
Hai AI - B.
Person AI - C.
Student Hai - D.
Báo lỗi
AttributeError
- A.
- Q 47.
Cho đoạn mã thao tác tập hợp:
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
C = A & B
print(len(C))Kết quả in ra màn hình là gì?
- A.
2 - B.
4 - C.
6 - D.
0
- A.
- Q 48.
Cho đoạn mã sau:
names = ["An", "Binh", "Chi"]
for idx, name in enumerate(names, start=1):
if idx == 2:
print(name)Kết quả in ra màn hình là gì?
- A.
An - B.
Binh - C.
Chi - D.
2
- A.
- Q 49.
Cho đoạn mã sau:
nums = [1, 2, 3, 4]
res = list(map(lambda x: x + 5, nums))
print(res[1])Kết quả in ra màn hình là gì?
- A.
6 - B.
7 - C.
8 - D.
9
- A.
- Q 50.
Cho đoạn mã cài đặt hàm tìm kiếm:
def search(arr, target):
left = 0
right = len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
data = [11, 22, 33, 44, 55, 66]
print(search(data, 44))Kết quả in ra màn hình là gì?
- A.
2 - B.
3 - C.
4 - D.
-1
- A.
Answers and explanations are in mode.