Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

TIN HỌC 10 ÔN TẬP KIỂM TRA CUỐI HỌC KỲ I NĂM HỌC 2025 - 2026

Total questions: 67

Worksheet time: 36mins

Name
Class
Date
1.

Cho đoạn chương trình sau: a = float(input()) print(type(a)) Kết quả in ra màn hình là:

a)
  1. <class 'float'>

b)
  1. <class 'int'>

c)
  1. <class 'str'>

d)
  1. <class 'bool'>

2.

Câu lệnh nào dùng để đưa dữ liệu từ bàn phím vào?

a)

input()

b)

print()

c)

nhap()

d)

enter()

3.

Cho x = 5 và y = 3. Chọn câu lệnh in ra màn hình kết quả là 8.

a)

print(x + y)

b)

print("x+y")

c)

print("x" + "y")

d)

print(x, y)

4.

Chọn chương trình có thể thực hiện phép tính tổng hai số nguyên a và b nhập từ bàn phím:

a)

a = int(input()) b = int(input()) print(a + b)

b)

a = int(input()) b = int(input()) print(a * b)

c)

a = input() b = input() print(a + b)

d)

a = int(input()) b = int(input()) print(a + b)

5.

Chọn lệnh nhập Họ tên học sinh từ bàn phím trong Python:

a)

hoten = input("Nhập họ tên học sinh:")

b)

hoten = print("Nhập họ tên học sinh:")

c)

hoten = int(input())

d)

hoten = Input()

6.

Để nhập giá trị số nguyên cho biến x, bạn An viết: x = int(input("nhập số nguyên x: ")) Nhận xét nào đúng?

a)

Chương trình chạy đúng

b)

Chương trình báo lỗi, không chạy

c)

Không xác định được lỗi

d)

Chương trình vẫn chạy nhưng không đúng yêu cầu

7.

Để nhập giá trị số thực cho biến x, bạn Anh viết: x = input("nhập số thực x: ") Nhận xét nào sau đây đúng đúng?

a)

A. Chương trình vẫn chạy nhưng không đúng yêu cầu (x là chuỗi, không phải số thực)

b)

B. Chương trình chạy đúng (x nhận số thực)

c)

C. Chương trình báo lỗi không chạy

d)

D. Không xác định được lỗi

8.

Đưa dữ liệu ra màn hình dùng thủ tục nào?

a)

print()

b)

input()

c)

type()

d)

abs()

9.

Hàm input() luôn trả về giá trị kiểu gì?

a)

Chuỗi (string)

b)

Số nguyên (int)

c)

Số thực (float)

d)

Bất kì

10.

Khi nhập dữ liệu từ bàn phím bằng hàm input(), kết quả trả về là kiểu dữ liệu gì?

a)

Chuỗi (string)

b)

Số nguyên (integer)

c)

Số thực (float)

d)

Boolean

11.

Để in giá trị của một biểu thức ra màn hình, ta sử dụng lệnh nào?

a)

print()

b)

input()

c)

type()

d)

int()

12.

Biến a được nhập từ bàn phím như sau: a = input() Kiểu dữ liệu của a sau khi nhập là:

a)

Kiểu chuỗi (ký tự)

b)

Kiểu số nguyên

c)

Kiểu số thực

d)

Kiểu logic

13.

Trong Python, hàm input() có tính năng gì khi không có thông báo nhập liệu (không có chuỗi trong ngoặc)?

a)

Chương trình sẽ dừng, chờ người dùng nhập dữ liệu

b)

Hàm input() không thể hoạt động nếu thiếu thông báo

c)

Người dùng không thể nhập dữ liệu

d)

Chương trình sẽ báo lỗi

14.

Khi nhập dữ liệu từ bàn phím và chuyển sang kiểu số nguyên ngay trong cùng một lệnh, ta dùng cú pháp nào?

a)

int(input("Nhập số nguyên: "))

b)

input(int("Nhập số nguyên: "))

c)

int("Nhập số nguyên: ")

d)

input("Nhập số nguyên: ")

15.

Trong Python, lệnh nào dùng để nhập dữ liệu từ bàn phím?

a)

input()

b)

get()

c)

read()

d)

fetch()

16.

Câu lệnh sau sẽ hiển thị kết quả gì? print("Hello" + "world")

a)

A. Helloworld

b)

B. Hello world

c)

C. Hello + world

d)

D. Lỗi: Không thể nối hai chuỗi này

17.

Cấu trúc câu lệnh điều kiện dạng thiếu trong Python là:

a)
  1. if <điều kiện>: <khối lệnh>

b)
  1. If <điều kiện>: <khối lệnh>

c)
  1. If <điều kiện> then <khối lệnh>

d)
  1. if <điều kiện> then <khối lệnh>

18.

Cho biết phát biểu nào sai trong các phát biểu sau?

a)

Trong câu lệnh if sau dấu : luôn chỉ có một câu lệnh

b)

Sau từ khóa else luôn có dấu :

c)

Câu lệnh elif có thể được sử dụng nhiều lần để kiểm tra nhiều trường hợp

d)

Câu lệnh if có thể lồng nhau để kiểm tra được nhiều điều kiện

19.

Cho biểu thức logic x and y. Biểu thức nhận giá trị True khi nào?

a)

Cả x và y đều nhận giá trị True

b)

x nhận giá trị True, y nhận giá trị False

c)

x nhận giá trị False, y nhận giá trị True

d)

Cả x và y đều nhận giá trị False

20.

Cho x = 5, y = 10. Biểu thức logic nào nhận giá trị True?

a)

(x % 5 == 0) and (y % 2 == 0)

b)

4*x = 2*y

c)

(x > 2*y) or (x > y > 20)

21.

Chọn phát biểu đúng. Cho biểu thức: x or y

a)

Cho kết quả là False khi và chỉ khi x và y đều nhận giá trị False

b)

Cho kết quả là True khi x và y đều nhận giá trị True

c)

Đảo giá trị của x và y cho nhau

d)

Cho kết quả là False khi và chỉ khi x hoặc y nhận giá trị False

22.

Để kiểm tra số nguyên n có vừa chia hết cho 3 và vừa chia hết cho 5 hay không, dùng điều kiện nào?

a)

n % 3 == 0 and n % 5 == 0

b)

n % 3 == 0 or n % 5 == 1

c)

n % 3 == 0 and n % 5 == 1

d)

n % 3 == 0 or n % 5 == 0

23.

Điều kiện trong cấu trúc rẽ nhánh if là:

a)

Biểu thức logic

b)

Biểu thức số học

c)

Biểu thức quan hệ

d)

Một câu lệnh

24.

Kết quả của biểu thức sau là gì? (4 > 5) or (14 % 4 >= 14)

a)

False

b)

Lỗi

c)

True

d)

2

25.

Trong Python, điều kiện rẽ nhánh được kiểm tra bằng cách nào?

a)

Dùng từ khóa if

b)

Dùng cú pháp if-else

c)

Sử dụng dấu hai chấm :

d)

Thụt lề (indentation)

26.

Câu lệnh nào dùng để kiểm tra một biểu thức có đúng hay không trong Python?

a)

if

b)

if-else

c)

for

d)

while

27.

Trong Python, để so sánh hai giá trị, ta sử dụng ký hiệu nào?

a)

==

b)

++

c)

=

d)

><

28.

Câu 28. Cho cấu trúc: if <điều kiện>: else: Nếu điều kiện có giá trị False thì: ________

a)

được thực hiện khối lệnh 2

b)

  1. Không thực hiện khối lệnh nào

c)
  1. Chỉ thực hiện khối lệnh 1

d)
  1. Thực hiện cả hai khối lệnh

29.

Câu lệnh nào sau đây viết đúng trong Python?

a)

if x == 5: a = 1

b)

if x>5; a=1

c)

if x>5: a=1 else a=2

d)

if x>5: a:=1 else a=2

30.

Trong Python, câu lệnh nào được sử dụng khi có nhiều điều kiện để kiểm tra và lựa chọn?

a)

if-elif-else

b)

switch-case

c)

for

d)

if-else

31.

Trong Python, câu lệnh nào sẽ được thực thi nếu tất cả các điều kiện trong if-elif-else đều là False?

a)

Khối lệnh trong else

b)

Khối lệnh trong elif

c)

Vòng lặp for

d)

Khối lệnh trong if

32.

Sau khi thực hiện đoạn lệnh: x = 14 s = 20 if x % 2 == 0: s = s + 5 else: s = s + 2 print(x) Giá trị in ra của x là:

a)

A. 14

b)

B. 35

c)

C. 25

d)

D. 22

33.

Hãy cho biết điều kiện nào để chương trình in ra "Phương trình có vô số nghiệm".

a)

a == 0 và b == 0

b)

a != 0 và b == 0

c)

a == 0 và b != 0

d)

a != 0 và b != 0

34.

Nếu người dùng nhập a = 0, b = 2 thì kết quả in ra:

a)

Phương trình vô nghiệm

b)

Phương trình có nghiệm x = -2

c)

Phương trình có vô số nghiệm

d)

Không có thông báo nào

35.

Cho đoạn chương trình sau: diem = 6.4 if diem < 5: print("Xếp loại Yếu") elif diem < 6.5: print("Xếp loại Trung bình") elif diem <= 8: print("Xếp loại Khá") else: print("Xếp loại Giỏi") Kết quả in ra:

a)

Xếp loại Trung bình

b)

Xếp loại Yếu

c)

Xếp loại Giỏi

d)

Xếp loại Khá

36.

Cho đoạn chương trình: a = 2 b = 3 if a < b: a = a * 2 else: b = b * 2 print(b) Giá trị của b sau khi thực hiện:

a)

A. 3

b)

B. 2

c)

C. 6

d)

D. Không xác định

37.

Chương trình sẽ in "Xin chào bạn đáng yêu!" khi:

a)

A. Tuổi nhỏ hơn 18

b)

B. Tuổi lớn hơn 18

c)

C. Tuổi bằng 18

d)

D. Không xác định

38.

Nếu một biến x có giá trị là 10, giá trị của biểu thức (x > 5) and (x < 15) là:

a)

True

b)

False

c)

None

d)

10

39.

Kết quả của chương trình sau là gì? num = 3 if num > 0: print(num) print("Thông điệp này luôn được in.") if num > 0: print(num) print("Thông điệp này cũng luôn được in.")

a)

3 Thông điệp này luôn được in. Thông điệp này cũng luôn được in.

b)

3 Thông điệp này cũng luôn được in.

c)

Thông điệp này luôn được in. Thông điệp này cũng luôn được in.

d)

-1 Thông điệp này cũng luôn được in.

40.

Xác định câu lệnh đúng trong các câu lệnh sau (giả sử đã có biến a, b, max):

a)

if a >= b: max = a else max = b;

b)

if a >= b then max = a else max = b;

c)

if a >= b : max = a else|max = b

41.

Kết quả nào sẽ được in ra màn hình khi chạy đoạn mã sau?

a = 10
b = 5
c = 20
if a > b:
    if b > c:
        print("a lớn hơn b và b lớn hơn c")
    else:
        print("a lớn hơn b và b không lớn hơn c")

a)
  1. a lớn hơn b, nhưng b không lớn hơn c

b)
  1. a lớn hơn b và b lớn hơn c

c)
  1. a không lớn hơn b

d)
  1. Không có thông báo nào

42.

Cho x = True, y = False. Giá trị của biểu thức sau: not ((x and y) or x)

a)

False

b)

True

c)

x

d)

1

43.

Trong Python, câu lệnh nào sau đây dùng để tạo vòng lặp với số lần lặp xác định?

a)

for

b)

if

c)

while

d)

break

44.

Cú pháp chung của vòng lặp for duyệt theo hàm range() là:

a)
  1. for i in range(<tham_số>): <khối lệnh>

b)
  1. for i in range: <khối lệnh>

c)
  1. for range(i): <khối lệnh>

d)
  1. for (<tham_số>) in range: <khối lệnh>

45.

Trong vòng lặp for i in range(5):…, biến i được gọi là gì?

a)

A. Biến đếm / biến lặp

b)

B. Biến điều kiện

c)

C. Biến logic

d)

D. Biến chuỗi

46.

Kết quả của đoạn chương trình sau là gì? for i in range(3): print(i)

a)

A. 0 1 2

b)

B. 1 2 3

c)

C. 0 1 2 3

d)

D. 3 2 1

47.

Cho đoạn chương trình: s = 0 for i in range(1, 5): s = s + i print(s) Giá trị in ra của s là:

a)

A. 10

b)

B. 15

c)

C. 5

d)

D. 4

48.

Cho đoạn chương trình: i = 1 while i < 5: print(i, end=" ") i = i + 2 Kết quả in ra màn hình là:

a)

A. 1 3

b)

B. 1 3 5

c)

C. 1 2 3 4

d)

D. 1 3 5 7

49.

Xét đoạn chương trình: for x in range(1, 6): if x == 3: continue print(x, end=" ") Kết quả in ra là:

a)

A. 1 2 4 5

b)

B. 1 2 3 4 5

c)

C. 3 4 5

d)

D. 1 2

50.

Cho đoạn mã sau: count = 0 for i in range(1, 6): if i % 2 == 0: count = count + 1 print(count) Ý nghĩa của chương trình là:

a)

A. Đếm số chẵn từ 1 đến 5

b)

B. Đếm số lẻ từ 1 đến 5

c)

C. Tính tổng các số chẵn từ 1 đến 5

d)

D. Tính tổng các số từ 1 đến 5

51.

Trong đoạn chương trình sau, giá trị cuối cùng của biến x là bao nhiêu?

a)

3

b)

6

c)

5

d)

2

52.

Trong Python, câu lệnh for i in range(2, 6) sẽ tạo ra dãy số nào?

a)

A. 2, 3, 4, 5

b)

B. 2, 3, 4, 5, 6

c)

C. 2, 4, 6

d)

D. 2, 3, 4

53.

Đoạn chương trình sau thực hiện chức năng gì? for i in range(5): print("Hello")

a)

In ra "Hello" 5 lần.

b)

In ra "Hello" 4 lần.

c)

In ra các số từ 0 đến 4.

d)

Không in ra gì.

54.

Điều kiện kết thúc của vòng lặp sau là gì? for i in range(1, 10, 2): print(i)

a)

Khi i bằng 10.

b)

Khi i lớn hơn hoặc bằng 10.

c)

Khi i nhỏ hơn 10.

d)

Khi i bằng 9.

55.

Trong đoạn chương trình sau, range(5, 0, -1) có nghĩa là gì?

a)

Tạo dãy số từ 5 đến 1 theo thứ tự giảm dần.

b)

Tạo dãy số từ 5 đến 0 theo thứ tự giảm dần.

c)

Tạo dãy số từ 1 đến 5 theo thứ tự tăng dần.

d)

Tạo dãy số từ 0 đến 5 theo thứ tự tăng dần.

56.

Kết quả của đoạn chương trình sau là gì? x = 1 while x < 5: print(x, end=" ") x += 1

a)

A. 1 2 3 4

b)

B. 1 2 3 4 5

c)

C. 2 3 4 5

d)

D. 1 2 3 4 5 6

57.

Điều kiện nào sau đây làm vòng lặp while kết thúc?

a)

Khi count == 3

b)

Khi count < 3

c)

Khi count > 3

58.

Câu 1. Cho chương trình Python sau, Hãy đưa ra nhận định về cách hoạt động và kết quả của đoạn lệnh sau?
so=int(input("Nhập số nguyên: "))
if so%3==0:

print("Đây là số chia hết cho 3") else:

print("Đây là sô không chia hết cho 3")

a)

A. Đoạn code trên sử dụng cấu trúc rẽ nhánh if-else để kiểm tra số nguyên đó có chia hết cho 3 hay không. (Đúng/Sai)

b)


B. Nếu người dùng nhập số 7 thì kết quả sẽ là: Đây là sô không chia hết cho 3. (Đúng/Sai)

c)


C. Toán tử % trong đoạn code dùng để lấy phần nguyên khi chia số cho 3. (Đúng/Sai)

d)

D. Câu lệnh else sẽ được thực hiện khi điều kiện if sai. (Đúng/Sai)

59.

Câu 3. Cho chương trình Python sau, Hãy đưa ra nhận định về cách hoạt động và kết quả của đoạn lệnh sau?
tong=0
for i in range (1,11):

if i%2!=0:
print(i, "là số lẻ") tong=tong+i

else:
print(i,"là số chẳn")

print("Tổng các số lẻ", tong)

a)

A. Vòng lặp for sẽ kết thúc khi i có giá trị bằng 11. (Đúng/Sai)

b)


B. Nếu thay range(1, 11) bằng range(1, 6), giá trị của tong sẽ là 6. (Đúng/Sai)

c)


C. Câu lệnh print(i, "là số lẻ") chỉ thực hiện khi i không chia hết cho 2. (Đúng/Sai)

d)

D. Nếu thay if i % 2 != 0 bằng if i % 3 == 0, tong sẽ là tổng của các số chia hết cho 3 từ 1 đến 10. (Đúng/Sai)

60.

Câu 4. Cho chương trình Python sau, Hãy đưa ra nhận định về cách hoạt động và kết quả của đoạn lệnh sau?
tich=1
for i int range(6)

tich=tich*i

print(“Tích là”, tich)

a)

A. Đoạn code trên sử dụng vòng lặp for để tính tích các số từ 1 đến 5. (Đúng/Sai)

b)

B. Biến tich được khởi tạo với giá trị 1. (Đúng/Sai)

c)

C. Hàm range(6) tạo ra các số từ 0 đến 5. (Đúng/Sai)

d)

D. Kết quả in ra màn hình sẽ là: Tích là: 120. (Đúng/Sai)

61.

Câu 2. Trong Python, Về câu lệnh điều kiện if trong Python:

a)

A. Câu lệnh if có thể đứng một mình mà không cần else. (Đúng/Sai)

b)

B. Khi có nhiều điều kiện cần kiểm tra, ta có thể dùng elif. (Đúng/Sai)

c)



C. Python yêu cầu dấu ngoặc {} để xác định khối lệnh của if. (Đúng/Sai)

d)

D. Biểu thức logic trong if có thể kết hợp nhiều điều kiện bằng and và or. (Đúng/Sai)

62.

Câu 5. Giáo viên dạy Tin học lớp 10 đưa ra một đoạn mã Python và yêu cầu học sinh đưa ra nhận định về cách hoạt động và kết quả của đoạn lệnh sau?
i=0
tong=0

while i<5: tong=tong+i

i=i+1

a)

A. Đoạn code trên sử dụng vòng lặp while để tính tổng các số từ 1 đến 4. (Đúng/Sai)

b)

B. Biến tong được khởi tạo với giá trị 0. (Đúng/Sai)

c)


C. Điều kiện i < 5 vòng lặp kết thúc khi i bằng 5. (Đúng/Sai)

d)


D. Kết quả in ra màn hình sẽ là: Tổng là: 15. (Đúng/Sai)

63.

Cho chương trình Python sau, Hãy đưa ra nhận định về cách hoạt động và kết quả của đoạn lệnh sau?
tong=0
for i in range (1,10):

if i%2!=0:
print(i, "là số lẻ") tong=tong+i

else:
print(i,"là số chẳn")

print("Tổng các số lẻ", tong)

a)

a. Dòng tong =tong+i chỉ được thực hiện khi i là số chẵn. (Đúng/Sai)

b)

b. Câu lệnh print("Tổng các số lẻ:", tong) sẽ in ra "Tổng các số lẻ: 25". (Đúng/Sai)

c)

c. Nếu thay range(1, 10) thành range(2, 11, 2), vòng lặp sẽ chỉ in ra các số chẵn. (Đúng/Sai)

d)

d. Giá trị cuối cùng của tong là tổng của tất cả các số chẵn từ 1 đến 10. (Đúng/Sai)

64.

Câu 7. Trong giờ thực hành, bạn Huy viết chương trình nhập ba số nguyên a, b, c và in ra tổng, tích và giá trị lớn nhất trong ba số. Hãy xác định các phát biểu sau là Đúng (Đ) hay Sai (S):

a)

a. Lệnh print("Tong:", a+b+c) dùng để in tổng ba số.

b)


b. Lệnh max(a, b, c) cho ra số nhỏ nhất trong ba số.

c)

c. Nếu một trong ba số nhập vào là âm, chương trình vẫn chạy bình thường.

d)

d. Lệnh a*b*c là phép nhân ba số a, b và c.

65.

Câu 8. Bạn Lan thử nhập các giá trị a = 20, b = 5, c = 2.0, d = 3 vào chương trình để tìm hiểu kiểu dữ liệu. Hãy xác định các phát biểu sau:

a)

a. Biểu thức a/b luôn cho kết quả kiểu float.

b)

b. Biểu thức a//d luôn làm tròn xuống và cho kiểu int.

c)

c. Biểu thức a%d là phép chia lấy phần dư.

d)

d. Biểu thức c*d luôn cho kiểu int vì d là số nguyên.

66.

Câu 9. Trong giờ thực hành, bạn Minh viết các biểu thức toán học vào chương trình Python để tính toán nhanh kết quả. Hãy xác định các phát biểu sau là Đúng (Đ) hay Sai (S):

a)

a. Biểu thức 2*a + 3*b luôn thực hiện phép nhân trước rồi mới cộng.

b)

b. Biểu thức x*y/z trong Python luôn cho kết quả là kiểu int.

c)

c. Nếu b**2 - 4*a*c < 0 thì biểu thức có thể cho giá trị âm.

d)

d. Dấu ngoặc tròn trong biểu thức không làm thay đổi thứ tự tính toán.

67.

Bạn An viết chương trình nhập ba số nguyên a, b, c rồi in ra:
Tổng ba số, Giá trị trung bình, Tổng bình phương của ba số. Sau khi chạy chương trình, An cho rằng đoạn mã của mình luôn đúng với mọi bộ dữ liệu nhập vào. Hãy xác định các phát biểu sau là Đúng (Đ) hay Sai (S):

a)


a. Biểu thức (a + b + c) / 3 luôn cho giá trị trung bình chính xác.

b)

b. Nếu một trong ba số nhập vào là số thập phân (float), chương trình sẽ báo lỗi ở lệnh int(input()).

c)

c. Tổng bình phương của ba số được tính bằng a*a + b*b + c*c.

d)

d. Nếu nhập a = b = c = 0 thì chương trình sẽ bị lỗi chia cho 0 khi tính giá trị trung bình.