Python: Kiểu dữ liệu, toán tử, điều kiện, ngoại lệ và vòng lặp
Exam info
- Subject
- Nhập môn lập trình Python
- Exam type
- University
- Questions
- 50
- Duration
- 60 min
- Answers
- ✓ With explanations
Questions (50)
- Q 1.
Với đoạn lệnh
t = (1, 2, 3); t[1] = 9, kết quả chính xác là gì?- A.
Python báo lỗi
TypeErrorvì tuple không hỗ trợ gán giá trị theo chỉ mục. - B.
Biến
ttrở thành(9, 2, 3). - C.
Python tự động chuyển
tthành list rồi gán giá trị. - D.
Chỉ phần tử cuối cùng của tuple bị thay đổi.
- A.
- Q 2.
Đặc điểm nào sau đây đúng về các phần tử có thể lưu trong một tuple?
- A.
Tuple chỉ được chứa các số nguyên.
- B.
Các phần tử trong một tuple có thể thuộc nhiều kiểu dữ liệu khác nhau.
- C.
Mỗi tuple chỉ được chứa đúng một giá trị.
- D.
Tuple không thể chứa giá trị
None.
- A.
- Q 3.
Theo cú pháp Python chuẩn, biểu thức nào tạo ra một tuple rỗng?
- A.
() - B.
{} - C.
[] - D.
(1,)
- A.
- Q 4.
Biểu thức nào tạo ra một tuple chỉ chứa đúng giá trị
50?- A.
() - B.
(50) - C.
(50,) - D.
{50,}
- A.
- Q 5.
Sau khi chạy đoạn
t = (1, 2); t += (3,), giá trị củatlà gì?- A.
(1, 2, 3) - B.
(1, 2, 3, 3) - C.
(1, 2) + (3) - D.
(1, 2)
- A.
- Q 6.
Giá trị của biểu thức
('Go',) * 3là gì?- A.
'GoGoGo' - B.
('Go', 'Go', 'Go') - C.
(['Go'], ['Go'], ['Go']) - D.
Báo lỗi vì tuple không hỗ trợ toán tử
*.
- A.
- Q 7.
Với
t = (1, 2, 3, 2), biểu thứct.count(2), t.index(2)trả về cặp giá trị nào?- A.
(1, 1) - B.
(2, 2) - C.
(1, 2) - D.
(2, 1)
- A.
- Q 8.
Với
t = (1, 2, 3, 4)và câu lệnha, *rest = t, giá trị củaavàrestlà gì?- A.
a = 1,rest = (2, 3, 4) - B.
a = (1, 2),rest = (3, 4) - C.
a = 1,rest = [2, 3, 4] - D.
a = 4,rest = [1, 2, 3]
- A.
- Q 9.
Sau đoạn lệnh sau, giá trị cuối cùng của
tlà gì?
t = (1, 2, 3)
lst = list(t)
lst[0] = 9
t = tuple(lst)- A.
(1, 2, 3) - B.
(9, 2, 3) - C.
[9, 2, 3] - D.
Chương trình báo lỗi vì không thể thay đổi list.
- A.
- Q 10.
Sau khi chạy
s = {1, 2, 2, 3}, tậpschứa những giá trị nào?- A.
{1, 2, 3} - B.
{1, 2, 2, 3} - C.
[1, 2, 2, 3] - D.
Chương trình báo lỗi vì set không cho phép khai báo phần tử trùng lặp.
- A.
- Q 11.
Đối với một set, thao tác nào sau đây hợp lệ?
- A.
Gán phần tử thứ hai bằng
s[1] = 10. - B.
Thay đổi giá trị của phần tử đang tồn tại bằng
s[0] = 5. - C.
Thêm phần tử mới bằng
s.add(4). - D.
Sắp xếp các phần tử theo chỉ số bằng
s.sort().
- A.
- Q 12.
Kết quả của biểu thức
1 in {1, True}là gì?- A.
False - B.
Báo lỗi do set chứa kiểu dữ liệu không đồng nhất.
- C.
None - D.
True
- A.
- Q 13.
Kết quả của
lst = [0.5] * 10là gì?- A.
Một list chỉ chứa phần tử
0.5. - B.
Một list gồm mười phần tử, tất cả đều có giá trị
0.5. - C.
Một list gồm mười phần tử, trong đó phần tử cuối cùng là
10. - D.
Chương trình báo lỗi vì không thể nhân một list với số thực.
- A.
- Q 14.
Với
lst = [5, -3, 12], lệnhprint(len(lst), -3 in lst)in ra gì?- A.
3 True - B.
2 False - C.
3 -3 - D.
12 True
- A.
- Q 15.
Với
lst = [5, -3, 12], giá trị củalst[-1]là gì?- A.
5 - B.
-3 - C.
12 - D.
Báo lỗi
IndexError.
- A.
- Q 16.
Với
lst = [5, 7, 2, 9, 6, 3, 10, 17, 16],lst[2:5]có giá trị gì?- A.
[7, 2, 9, 6] - B.
[2, 9, 6] - C.
[2, 9, 6, 3] - D.
[5, 7, 2]
- A.
- Q 17.
Với
lst = [5, 7, 2, 9, 6, 3, 10, 17, 16], biểu thứclst[:-4:-1]tạo ra list nào?- A.
[17, 10, 3, 6] - B.
[16, 17, 10] - C.
[3, 10, 17, 16] - D.
[3, 10, 17]
- A.
- Q 18.
Sau khi chạy
a = [10, 20, 30, 40]; a[0] = 7, giá trị củaalà gì?- A.
[7, 20, 30, 40] - B.
[10, 7, 30, 40] - C.
[7, 20, 30] - D.
[10, 20, 30, 40]
- A.
- Q 19.
Sau khi chạy
lst = [0, 1, 2, 3]; lst.clear(), giá trị củalstlà gì?- A.
[0] - B.
None - C.
[] - D.
Chương trình báo lỗi vì list không có phương thức
clear().
- A.
- Q 20.
Sau khi chạy
lst = [0, 1, 2, 3]; del lst[1], giá trị củalstlà gì?- A.
[1, 2, 3] - B.
[0, 2, 3] - C.
[0, 1, 2, 3] - D.
Danh sách rỗng
[].
- A.
- Q 21.
Sau
lst = ['Orange', 'mango', 'Kiwi', 'pineapple', 'banana']; lst.sort(), giá trị củalstlà gì?- A.
['banana', 'Kiwi', 'mango', 'Orange', 'pineapple'] - B.
['Orange', 'Kiwi', 'banana', 'mango', 'pineapple'] - C.
['mango', 'pineapple', 'banana', 'Kiwi', 'Orange'] - D.
['Kiwi', 'Orange', 'banana', 'mango', 'pineapple']
- A.
- Q 22.
Sau
lst = ['Orange', 'mango', 'Kiwi', 'pineapple', 'banana']; lst.sort(key=str.lower), giá trị củalstlà gì?- A.
['banana', 'Kiwi', 'mango', 'Orange', 'pineapple'] - B.
['Kiwi', 'Orange', 'banana', 'mango', 'pineapple'] - C.
['Orange', 'banana', 'Kiwi', 'mango', 'pineapple'] - D.
['mango', 'banana', 'Kiwi', 'Orange', 'pineapple']
- A.
- Q 23.
Sau
lst = ['Orange', 'mango', 'Kiwi', 'pineapple', 'banana']; lst.reverse(), giá trị củalstlà gì?- A.
['Orange', 'mango', 'Kiwi', 'pineapple', 'banana'] - B.
['banana', 'pineapple', 'mango', 'Kiwi', 'Orange'] - C.
['banana', 'pineapple', 'Kiwi', 'mango', 'Orange'] - D.
[]
- A.
- Q 24.
Tiền tố nào biểu diễn một số nguyên ở hệ bát phân trong Python?
- A.
0b - B.
0o - C.
0x - D.
0d
- A.
- Q 25.
Với các phép gán liên tiếp
x = 5,x = 'fit=hcmute',x = True, các kiểu dữ liệu củaxtheo thứ tự là gì?- A.
str,int,bool - B.
int,int,int - C.
int,str,str - D.
int,str,bool
- A.
- Q 26.
Kết quả của hai biểu thức
None == FalsevàNone == []là gì?- A.
False,False - B.
True,False - C.
False,True - D.
Cả hai biểu thức đều gây lỗi.
- A.
- Q 27.
Định danh nào sau đây hợp lệ theo quy tắc đặt tên biến trong Python?
- A.
2nd_value - B.
total-items - C.
_value2 - D.
class
- A.
- Q 28.
Phát biểu nào mô tả đúng cách viết ghi chú trong Python?
- A.
Dùng
//để ghi chú một dòng và/* ... */để ghi chú nhiều dòng. - B.
Dùng
#cho ghi chú một dòng và chuỗi tài liệu ba dấu nháy ngay sau định nghĩa hàm, lớp hoặc module. - C.
Docstring phải được đặt trước tên hàm.
- D.
Mọi chuỗi ba dấu nháy đều tự động trở thành docstring.
- A.
- Q 29.
Phát biểu nào phân biệt đúng biến và hằng trong Python?
- A.
Biến không thể gán lại, còn hằng luôn có thể thay đổi.
- B.
Mọi biến trong Python đều là hằng và không thể thay đổi.
- C.
Hằng bắt buộc phải được khai báo bằng từ khóa
const. - D.
Biến có thể gán lại, còn hằng được xem là giá trị không thay đổi và thường được đặt tên bằng chữ hoa.
- A.
- Q 30.
Với
z = complex(3, 2), biểu thứcz.real, z.imagtrả về gì?- A.
(3.0, 2.0) - B.
(2.0, 3.0) - C.
('3', '2') - D.
Chỉ có
z.real, vì số phức không có phần ảo.
- A.
- Q 31.
Các biểu thức
9 / 2,9 // 2và9 % 2lần lượt trả về gì?- A.
4,4,1 - B.
4.5,1,4 - C.
4.5,4,1 - D.
4.5,4.5,4.5
- A.
- Q 32.
Giá trị của biểu thức
3 ** 2 + 1là gì?- A.
10 - B.
8 - C.
11 - D.
6
- A.
- Q 33.
Sau
x = 2; x **= 3, giá trị củaxlà gì?- A.
5 - B.
8 - C.
6 - D.
9
- A.
- Q 34.
Với
x = 2024, biểu thứcx % 4 == 0 and x % 100 != 0có giá trị gì?- A.
False - B.
0 - C.
Báo lỗi cú pháp.
- D.
True
- A.
- Q 35.
Với
a = 12vàb = 15, cặp kết quả củaa & bvàa ^ blà gì?- A.
(12, 3) - B.
(14, 15) - C.
(3, 12) - D.
(0, 27)
- A.
- Q 36.
Với
b = [1, 5, 7, 6, 9], cặp kết quả của4 in bvà4 not in blà gì?- A.
(True, True) - B.
(False, False) - C.
(False, True) - D.
(True, False)
- A.
- Q 37.
Toán tử nào được dùng để kiểm tra hai đối tượng có cùng tham chiếu đối tượng hay không?
- A.
== - B.
is - C.
= - D.
=>
- A.
- Q 38.
Giá trị của biểu thức
12 << 2là gì?- A.
3 - B.
24 - C.
14 - D.
48
- A.
- Q 39.
Cho đoạn chương trình:
diem = 8
if diem >= 9:
print('Giỏi')
elif diem >= 7:
print('Khá')
else:
print('Trung bình')
Chương trình in kết quả nào?- A.
Khá - B.
Giỏi - C.
Trung bình - D.
Không in kết quả nào.
- A.
- Q 40.
Với
a = 5vàb = 7, biểu thứcc = 3 if a != b else 2gán giá trị nào choc?- A.
2 - B.
5 - C.
3 - D.
7
- A.
- Q 41.
Sau
decimal.getcontext().prec = 10, biểu thứcdecimal.Decimal(1) / decimal.Decimal(13)được hiển thị theo độ chính xác mới là gì?- A.
0.0769230769 - B.
0.07692307692 - C.
0.076923 - D.
0
- A.
- Q 42.
Đoạn mã
try: x = 1 / 0; except ZeroDivisionError: print('Chia lỗi')in ra gì?- A.
Chương trình dừng vì lỗi không được xử lý.
- B.
ZeroDivisionError - C.
0.0 - D.
Chia lỗi
- A.
- Q 43.
Trong đoạn xử lý nhiều ngoại lệ, nếu khối
tryphát sinhZeroDivisionErrorvà có cả khốiexcept TypeError, khối nào sẽ xử lý lỗi?- A.
Khối
except ZeroDivisionErrortương ứng với loại lỗi phát sinh. - B.
Khối
except TypeErrorvì nó được đặt trước. - C.
Không có khối nào xử lý vì lỗi nằm ngoài danh sách.
- D.
Cả hai khối
exceptcùng thực hiện.
- A.
- Q 44.
Khi nào khối
elseđứng sautryvàexcepttrong Python được thực thi?- A.
Luôn luôn, bất kể khối
trycó lỗi hay không. - B.
Chỉ khi xảy ra một ngoại lệ.
- C.
Chỉ khi khối
tryhoàn thành mà không phát sinh ngoại lệ. - D.
Chỉ khi khối
exceptbắt được lỗi.
- A.
- Q 45.
Phát biểu nào về
finallyvàraiselà chính xác?- A.
finallychỉ chạy khi không có lỗi, cònraisechỉ dùng để in thông báo. - B.
finallyluôn được thực thi dù có ngoại lệ, cònraisecho phép chủ động ném ra một ngoại lệ. - C.
finallyvàraiseđều là toán tử gán giá trị. - D.
raisechỉ được dùng trong vòng lặp, cònfinallychỉ dùng trong hàm.
- A.
- Q 46.
Vòng lặp
for i in range(1, 10, 2): print(i, end=' ')in ra các số nào?- A.
1 3 5 7 9 - B.
1 2 3 4 5 6 7 8 9 - C.
2 4 6 8 10 - D.
1 3 5 7
- A.
- Q 47.
Đối với
range(2, 11, 2), các giá trị được tạo ra theo thứ tự là gì?- A.
1, 3, 5, 7, 9 - B.
2, 4, 6, 8, 10, 12 - C.
2, 3, 4, 5, 6, 7, 8, 9, 10 - D.
2, 4, 6, 8, 10
- A.
- Q 48.
Với
job = ['teacher', 'singer', 'football player'], vòng lặpfor i in range(len(job)): print(job[i])in ra gì?- A.
Các chỉ số
0,1,2. - B.
teacher,singer,football player, theo thứ tự ban đầu. - C.
football player,singer,teacher. - D.
Không có dòng nào được in.
- A.
- Q 49.
Trong các vòng lặp lồng nhau, khi lệnh
breaknằm trong vòng lặp bên trong và được thực thi, điều gì xảy ra?- A.
Cả vòng lặp bên trong và bên ngoài đều kết thúc.
- B.
Chỉ vòng lặp bên ngoài kết thúc.
- C.
Chỉ vòng lặp bên trong kết thúc; vòng lặp bên ngoài tiếp tục với lần lặp tiếp theo.
- D.
Toàn bộ chương trình kết thúc ngay lập tức.
- A.
- Q 50.
Với
lst = [5, 7, 2], vòng lặpfor i in range(len(lst) - 1, -1, -1): print(lst[i])in ra gì?- A.
2,7,5 - B.
5,7,2 - C.
7,5,2 - D.
Không có giá trị nào được in.
- A.
Answers and explanations are in mode.