wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ôn cuối kì Python

Total questions: 88

Worksheet time: 44mins

Name
Class
Date
1.

Đâu là ngôn ngữ lập trình bậc cao?

a)

Python

b)

Assembly

c)

C

d)

C++

2.

Ký tự nào được sử dụng để bắt đầu một dòng chú thích (comment) một dòng trong Python?

a)

//

b)

#

c)

%

d)

/* */

3.

Tên biến nào sau đây là KHÔNG hợp lệ trong Python ?

a)

my_variable

b)


_variable

c)


2variable

d)

variable2

4.

Trong các kiểu dữ liệu sau, đâu là ví dụ về đối tượng vô hướng (scalar object) trong Python ?

a)

List

b)

Dictionary

c)

String

d)

bool

5.

Python có phân biệt chữ hoa và chữ thường (case-sensitive) không ?

a)

Phụ thuộc vào hệ điều hành

b)


Chỉ phân biệt trong chuỗi ký tự

c)

d)

Không

6.

Hàm nào được dùng để lấy độ dài (số lượng phần tử) của một danh sách hoặc chuỗi?

a)

size

b)

length

c)

count

d)

len

7.

Cặp ký tự nào được dùng để bao quanh một chuỗi (String) trong Python?

a)

Chỉ dấu nháy đơn ' '

b)

Chỉ dấu nháy kép " "

c)

Cả dấu nháy đơn ' ' và nháy kép " " đều được

d)

Dấu ngoặc nhọn { }

8.

Ký tự đặc biệt nào biểu thị việc xuống dòng trong chuỗi?

a)

/n

b)

\n

c)

\\

d)

\t

9.

Hàm nào dùng để chuyển đổi một chuỗi số (ví dụ "123") thành số nguyên?

a)

str()

b)

float()

c)

int()

d)

char()

10.

Sau câu lệnh điều kiện if, for, while, def bắt buộc phải có ký tự nào ?


a)

Dấu chấm phẩy

b)

Dấu chấm

c)

Dấu hai chấm

d)

Dấu phẩy

11.

Từ khóa elif trong cấu trúc rẽ nhánh có nghĩa là gì ?

a)

else if

b)

end if

c)

exit if

d)

error it

12.

Để khởi tạo một danh sách (List) rỗng, ta dùng cú pháp nào ?

a)


list = {}

b)


list = []

c)

list = ()

d)


list = <>

13.

Phương thức nào dùng để thêm một phần tử vào cuối danh sách ?

a)

push()

b)

add()

c)

insert()

d)

append()

14.

Chỉ số (index) đầu tiên của một chuỗi hoặc danh sách trong Python bắt đầu từ số mấy?

a)

1

b)

0

c)

-1

d)

Tuỳ ý

15.

Toán tử ‘**’ trong Python dùng để làm gì ?

a)


Phép chia số nguyên

b)

Phép lũy thừa

c)


Phép nhân

d)

Phép chia lấy phần dư

16.

Chỉ số -1 trong danh sách đại diện cho phần tử nào ?

a)

Phần tử đầu tiên

b)

Phần tử cuối cùng

c)

Phần tử ở giữa

d)

Báo lỗi

17.

Từ khóa nào dùng để kiểm tra một giá trị có nằm trong danh sách hay không?

a)

exist

b)

within

c)

in

d)

on

18.

Hàm range(5) sẽ tạo ra một dãy số gồm những số nào ?

a)

1, 2, 3, 4, 5

b)

0, 1, 2, 3, 4, 5

c)

0, 1, 2, 3, 4

d)

1, 2, 3, 4

19.

Kiểu dữ liệu Dictionary (từ điển) được bao quanh bởi dấu ngoặc nào ?

a)

{}

b)

[]

c)

<>

d)

()

20.

Mỗi phần tử trong Dictionary là một cặp gồm những gì?

a)


Index : Value (Chỉ số : Giá trị)

b)

Key : Value (Khóa : Giá trị)

c)


Name : Type (Tên : Kiểu)

d)


Row : Column (Hàng : Cột)

21.

Toán tử not trong Python dùng để làm gì?

a)

Phủ định giá trị logic

b)

So sánh khác

c)

Xóa biến

d)


Thoát chương trình

22.

Để nhóm các biểu thức và ưu tiên thứ tự tính toán, ta dùng dấu ngoặc nào ?

a)


[ ]

b)

{ }

c)


" "

d)

()

23.

Phần mở rộng (extension) mặc định của file mã nguồn Python là gì ?

a)

.pt


b)

.py


c)

.python


d)

.txt


24.

Từ khóa pass trong Python dùng để làm gì ?

a)

Bỏ qua vòng lặp


b)

Kết thúc chương trình


c)

Giữ chỗ (không làm gì cả) để tránh lỗi cú pháp


d)

Trả về giá trị đúng


25.

Kiểu dữ liệu float dùng để lưu trữ loại số nào ?

a)

Số nguyên

b)

Số phức

c)

Số thực

d)

Phân số

26.

Mục đích của việc gán tên cho các giá trị của biểu thức trong Python là gì ?

a)


Để giải phương trình cho biến, tương tự như toán học

b)

Để có thể tái sử dụng tên thay vì giá trị và giúp thay đổi mã dễ hơn

c)

Giúp chương trình chạy nhanh hơn

d)


Cách duy nhất để thực hiện phép tính toán học trong Python

27.

Ký hiệu nào dùng để tạo một Tuple

a)

[]

b)

()

c)

{}

d)

<>

28.

Cấu trúc try... except dùng để làm gì ?

a)

Tạo vòng lặp

b)


Định nghĩa hàm

c)

Xử lý ngoại lệ (lỗi)

d)

Nhập xuất dữ liệu

29.

Trong Python, biến có cần phải khai báo kiểu dữ liệu trước khi gán giá trị không (ví dụ: int x = 5) ?

a)

Có, bắt buộc

b)

Không, Python tự động nhận diện kiểu

c)

Chỉ cần với số thực

d)

Chỉ cần với chuỗi

30.

Hàm nào dùng để chuyển đổi một số thành chuỗi ký tự ?

a)

int()

b)

char()

c)

str()

d)

text()

31.

Kết quả của biểu thức 10 > 5 là gì ?

a)

10

b)

5

c)

True

d)

False

32.

Từ khóa nào dùng để trả về giá trị từ một hàm?

a)

get

b)

back

c)

return

d)

result

33.

Trong các cấp độ hiệu suất, độ phức tạp O(1) và O(log n) thường được xếp vào nhóm nào ?

a)

Fair (Chấp nhận được)

b)

Normal (Bình thường)

c)


Excellent (Xuất sắc)

d)

Bad (Tệ)

34.

Trong sơ đồ khối (flowchart), khối hình thoi (Khối lựa chọn) được dùng để làm gì?

a)


Nhập/Xuất dữ liệu

b)

Tùy điều kiện sẽ rẽ nhánh

c)


Chỉ thị bắt đầu và kết thúc

d)


Ghi thao tác cần thực hiện

35.

Hàm nào sau đây được sử dụng để mở một tệp (file) trong Python?

a)

neww()

b)

file()

c)

open()

d)

read()

36.

ể đọc nội dung tệp CSV trong Python, bạn cần import mô-đun (module) nào?

a)

import csv

b)

import text

c)

import pd

d)

import file

37.

Để đọc nội dung tệp json trong Python, bạn cần import mô-đun (module) nào?

a)

import csv

b)

import json

c)

import pd

d)

import file

38.

Phương thức nào được dùng để đóng (close) một file đã mở?

a)

file_variable.close()

b)

close(file_variable)

c)

file.exit()

d)


file.end()

39.

Nếu lặp với số lần biết trước ta sử dụng câu lệnh nào dưới đây trong Python ?

a)

for i in range(start,end,step)

b)

while (i-- > 0)

c)


while (i--)

d)


for (int i = start; i <= end; i++)

40.

Câu lệnh nào sau đây được dùng để gọi thư viện math trong
python ?

a)


#import

b)

import math

c)


import python.math.*;

d)


#include

41.

Kết quả của đoạn mã sau là gì?

a = [1, 2, 3] b = a b.append(4) print(a)

a)

[1,2,3]

b)

[1,2,3,4]

c)

[4,1,2,3]

d)

Lỗi cú pháp

42.

Kết quả của phép toán 3 * '7' trong Python là gì?

a)

21

b)

'777'

c)

'21'

d)

Lỗi TypeError

43.

Để đảm bảo file luôn được đóng lại sau khi xử lý (kể cả khi có lỗi xảy ra), ta nên dùng cấu trúc nào?

a)


try ... catch


b)

with open(...) as f:

c)

open(...) ... close()

d)

def open_file():

44.

Đoạn mã sau in ra gì?

x = 10

def change():

x = 5 change()

print(x)

a)

5

b)

10

c)

15

d)

Lỗi

45.

Phương thức nào của List dùng để lấy phần tử cuối cùng ra và xóa nó khỏi danh sách?

a)

remove()

b)

delete()

c)


pop()

d)


push()

46.

Trong OOP, tính chất cho phép một lớp con sử dụng lại các thuộc tính và phương thức của lớp cha gọi là gì?

a)


Đóng gói (Encapsulation)

b)

Đa hình (Polymorphism)

c)

kế thừa (Inheritance)

d)

Trừu tượng (Abstraction)

47.

Kết quả của đoạn mã sau?

try: print(10 / 0)

except ZeroDivisionError:

print("Lỗi chia 0")

finally:

print("Kết thúc")

a)

Chỉ in "Lỗi chia 0"

b)

Chỉ in "Kết thúc"

c)


In "Lỗi chia 0" rồi in "Kết thúc"

d)

Báo lỗi chương trình dừng ngay lập tức

48.

Kết quả của print(type( (1,) )) là gì?

a)

<class 'int'>

b)


<class 'tuple'>

c)

<class 'list'>

d)

<class 'set'>

49.

Hàm super() trong phương thức của class con dùng để làm gì?

a)

Gọi phương thức của class cha.

b)


Tạo một class mới.

c)


Xóa class cha.

d)

Kiểm tra kiểu dữ liệu.

50.

Độ phức tạp trung bình của thao tác truy cập phần tử trong Dictionary (value = my_dict[key]) là bao nhiêu?

a)

O(dislike)

b)

O(log n)

c)

O(1)

d)

O(n^2)

51.

Đoạn code sau in ra gì?

ds = [1, 2, 3, 4, 5]

print(ds[1:4])

a)

[1,2,3]

b)

[2,3,4]

c)

[2,3,4,5]

d)

[1,2,3,4]

52.

Sự khác biệt giữa L.sort() và sorted(L) là gì?

a)


Không có khác biệt, chúng là bí danh (alias) của nhau

b)


sorted(L) biến đổi L, L.sort() trả về list mới

c)

L.sort() biến đổi L và trả về None, sorted(L) trả về list mới và không biến đổi L

d)

Cả hai đều biến đổi L và trả về list đã sắp xếp

53.

Lỗi gì xảy ra ở dòng cuối cùng?

class HinhCN:

def init(self, d, r):

self.d = d

self.r = r

h = HinhCN(10, 5)

print(h.d)

print(HinhCN.d)

a)

KeyError

b)


AttributeError

c)


NameError

d)

TypeError

54.

Hàm readlines() khi đọc file sẽ trả về kiểu dữ liệu gì?

a)

Một chuỗi (String) chứa toàn bộ nội dung.

b)

Một danh sách (List) các dòng (Strings).

c)


Một số nguyên đếm số dòng.

d)


Không trả về gì cả.

55.

Kết quả của đoạn mã?

x = True

y = False

z = False

if not x or y:

print(1)

elif not x or not y and z:

print(2)

elif not x or y or not y and x:

print(3)

else:

print(4)

a)

1

b)

3

c)

2

d)

4

56.

Kết quả in ra màn hình của đoạn mã sau là gì ?

def add_item(item, box=[]):

box.append(item)

return box

add_item("Tao")

print(add_item("Le"))

a)

['Le']

b)


['Tao', 'Le']

c)


['Tao']

d)


Báo lỗi SyntaxError

57.

Đoạn mã sau sẽ xảy ra vấn đề gì khi chạy?

class MyClass:

def hello():

print("Hello Python")

obj = MyClass()

obj.hello()

a)

In ra "Hello Python"

b)

Báo lỗi TypeError

c)


Báo lỗi NameError

d)


Báo lỗi SyntaxError

58.

Kết quả của đoạn mã sau?

a = {1, 2, 3}

b = {3, 4, 5}

print(a & b)

a)

{1, 2, 3, 4, 5}

b)

{3}

c)


{1, 2}

d)

[1, 2, 3, 3, 4, 5}

59.

Chế độ nào khi mở file cho phép đọc và ghi, con trỏ nằm ở đầu file?

a)

'r'

b)

'w+'

c)

'r+'

d)

'a'

60.

Output của dòng lệnh print("Python"[::-1]) là gì?

a)

python

b)

P

c)

n

d)

nohtyP

61.

Trong Class, biến bắt đầu bằng hai dấu gạch dưới (ví dụ __privateVar) có ý nghĩa gì?

a)

Biến toàn cục

b)

Biến public (công khai)

c)


"Name mangling" để giả lập biến private (riêng tư)

d)

Biến hệ thống

62.

Kết quả in ra màn hình của đoạn code sau ?

print(bool(0), bool(3.14), bool(-5))

a)

False True True

b)

True True True

c)

True False False

d)

False False False

63.

Kết quả của đoạn mã?

nums = [1, 2, 3]

nums.append([4, 5])

print(len(nums))

a)

5

b)

4

c)

3

d)

Lỗi

64.

Đoạn mã sau sẽ gây ra lỗi gì ?

my_dict = {"name": "An", "age": 20}

print(my_dict["address"])

a)

ValueError

b)


IndexError

c)


KeyError

d)

NameError

65.

Điều gì xảy ra khi mở file với chế độ 'w' (open('data.txt', 'w')) nếu file đó đã tồn tại và có nội dung?

a)


Nội dung mới được ghi nối tiếp vào cuối file

b)


Python báo lỗi "File Exists"

c)

Nội dung cũ bị xóa sạch và ghi nội dung mới.

d)


Con trỏ file nằm ở đầu dòng nhưng không xóa nội dung cũ.

66.

Kết quả của đoạn mã sau?

def func(x):

return x * 2

a = [func(i) for i in range(3)]

print(a)

a)


[0, 1, 2]

b)


[0, 2, 4]

c)


[2, 4, 6]

d)


[1, 2, 3]

67.

Trong lập trình hướng đối tượng (OOP), phương thức init được gọi khi nào?

a)

Khi khai báo class.

b)


Khi một đối tượng (instance) mới được khởi tạo

c)

Khi gọi hàm super()

d)


Khi đối tượng bị xóa

68.

Kết quả của đoạn mã sau?

s = "Python"

s[0] = "C"

print(s)

a)

Cython

b)

Python

c)

C

d)

Lỗi TypeError

69.

Độ phức tạp của đoạn mã sau là bao nhiêu?

for i in range(n):

for j in range(n):

print(i, j)

a)

O(dislike)

b)

O(log n)

c)

O(n^2)

d)

O(1)

70.

Nếu lặp với số lần không biết ta dùng lệnh lặp nào ?

a)

while

b)

for

c)

loop

d)

không có đáp án đúng

71.

Phép so sánh không bằng trong Python là gì ?

a)


a == b

b)

a != b

c)


a = b

d)

a <> b

72.

Phép toán tử logic hoặc trong Python giữa hai biến a và b là gì ?

a)

a or b

b)

a || b

c)


a and b

d)


a && b

73.

Trong biểu thức gán perimeter = pi 2 r, dấu bằng = có ý nghĩa gì?

a)

Gán giá trị cho biến

b)


Định nghĩa hàm

c)


Tính toán kết quả

d)

So sánh bằng

74.

Kết quả của phép chia i / j trong Python luôn trả về kiểu dữ liệu nào ?

a)

Float

b)

Integer

c)

Boolean

d)

Double

75.

Phép toán nào sau đây được dùng để lấy phần nguyên của phép chia ?

a)


a // b

b)


a % b

c)

a / b

d)


math.ceil(a/b)

76.

Toán tử có độ ưu tiên thấp nhất trong các toán tử sau ?

a)

/

b)

+

c)

**

d)

*

77.

Toán tử nào được sử dụng để nối (concatenate) hai chuỗi ký tự trong Python?

a)

&

b)

+

c)

-

d)

*

78.

Hàm input() trong Python luôn trả về giá trị thuộc kiểu dữ liệu nào?

a)

Float

b)

Int

c)

Bool

d)

str (string)

79.

Vai trò của việc thụt đầu dòng (indentation) trong Python là gì?

a)

Làm đẹp mã nguồn, không ảnh hưởng đến việc chạy chương trình

b)

Thay thế cho dấu chấm phẩy

c)


Xác định các khối mã (Blocks of Code)

d)

Định nghĩa biến toàn cục

80.

Từ khóa nào dùng để khai báo một hàm mới trong Python ?

a)

def

b)

class

c)

void

d)

for

81.

Nếu một hàm trong Python không có câu lệnh return, nó sẽ trả về giá trị gì mặc định ?

a)

false

b)

0

c)

none

d)

error

82.

Khi gọi hàm z = f(5), giá trị 5 được gọi là gì?

a)

Kết quả trả về

b)

Biến cục bộ

c)

Tham số hình thức

d)

Tham số thực tế

83.

Trong định nghĩa hàm def f(x):, biến x được gọi là gì?

a)

Tham số thực tế

b)

Tham số hình thức

c)

Biến toàn cục

d)

Hằng số

84.

Để truy cập ký tự đầu tiên của một chuỗi s thì dùng cú pháp nào?

a)


s[len(s)]

b)


s[0]

c)


s[1]

d)


s[-1]

85.

Để thêm một cặp key-value mới (ví dụ: 'Nguyen Van A': 'HS') vào dictionary grades thì dùng cú pháp nào?

a)


grades.keys().add('Nguyen Van A')

b)

grades.append('Nguyen Van A' ,'HS')

c)

grades.add({'Nguyen Van A': 'HS'})

d)

grades['Nguyen Van A'] = ‘HS’

86.

Trong các kiểu dữ liệu sau, kiểu nào là không thể thay đổi ?

a)

set

b)

list

c)

string

d)

dict

87.

Câu lệnh nào sau đây được dùng để ngắt vòng lặp ?

a)

break

b)

continue

c)

pass

d)

kill

88.

Hàm nào sau đây đùng để kiểm tra dữ liệu của một đối tượng ?

a)

class()

b)

check()

c)

typeof()

d)

type()