wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Tin Dễ Mà

Total questions: 112

Worksheet time: 56mins

Name
Class
Date
1.

Phát biểu nào sau đây là sai?

a)

Lệnh while kiểm tra điều kiện sau khi thực hiện khối lệnh lặp

b)

Lệnh while kiểm tra điều kiện trước khi thực hiện khối lệnh lặp.

c)

Lệnh while không biết trước số lần lặp.

d)

Muốn thoát ngay khỏi vòng lặp while ta dùng lệnh break.

2.

Lệnh lặp while kết thúc khi nào?

a)

Khi điều kiện không còn đúng

b)

Khi thực hiện xong khối lệnh lặp

c)

Khi điều kiện đúng

d)

Khi không còn lệnh để thực hiện

3.

<Điều kiện> trong câu lệnh lặp với số lần không biết trước là:

a)

Hàm toán học.

b)

Biểu thức logic.

c)

Biểu thức quan hệ.

d)

Biểu thức tính toán.

4.

Cho câu lệnh lặp while <điều kiện>: Nhóm lệnh. Hãy chọn phát biểu đúng:

a)

Câu lệnh lặp sẽ kết thúc khi biểu thức điều kiện sai

b)

Câu lệnh lặp sẽ kết thúc khi biểu thức điều kiện đúng

c)

Điều kiện lặp là một biểu thức số học

d)

Nhóm lệnh lặp lại phải có giá trị làm cho biểu thức điều kiện đúng

5.

Đâu là cách viết đúng lệnh lặp while trong Python?

a)

while a < b: a = a + 1

b)

while a = b: a = a + 1

c)

while a + b: a = a + 1

d)

while a % b: a = a + 1

6.

Chọn câu lệnh viết đúng cú pháp:

a)

while 5=5: i=int(input())

b)

while 5 and 5: i=int(input())

c)

while 5+5: i=int(input())

d)

while 5!=5: i=int(input())

7.

Kết quả thực hiện đoạn lệnh dưới đây: i=0 while i<5: i= i+1 print(i,end=" ")

a)

0 1 2 3 4 5

b)

12345

c)

0 1 2 3 4

d)

1 2 3 4 5

8.

Cho chương trình sau trong Python: Kết quả thông báo ra khi chạy chương trình trên là:

a)

1 2 3 4 5 6 7 8 9

b)

0 1 2 3 4 5 6 7 8 9

c)

1 2 3 4 5 6 7 8 9 10

d)

thông báo lỗi

9.

Đoạn chương trình sau in ra kết quả gì?

a)

9

b)

10

c)

11

d)

12

10.

Đoạn chương trình sau in ra kết quả gì?

a)

Trên màn hình xuất hiện một số 10.

b)

Trên màn hình xuất hiện 10 chữ a.

c)

Trên màn hình xuất hiện một số 11

d)

Chương trình bị lặp vô hạn

11.

Đoạn chương trình sau in ra kết quả gì?

a)

1 2 3 4

b)

2 3 4 5

c)

1 2 3 4 5

d)

2 3 4

12.

Đoạn chương trình sau in ra kết quả gì?

a)

8 6 4 2

b)

8 6 4

c)

6 4 2

d)

8 6 4 2 0

13.

Trong Python, câu lệnh nào dùng để tính độ dài của xâu s?

a)

len(s)

b)

length(s)

c)

s.len()

d)

s. length()

14.

Chương trình sau cho kết quả là bao nhiêu? name = "Codelearn" print(name[0])

a)

"C"

b)

"o"

c)

"Codelearn"

d)

Câu lệnh bị lỗi

15.

Trong Python, lệnh nào để tìm vị trí xuất hiện của một xâu trong xâu khác?

a)

in

b)

find()

c)

split()

d)

join()

16.

Trong Python, lệnh nào để tách một xâu thành danh sách các từ?

a)

in

b)

find()

c)

split()

d)

join()

17.

Trong Python, lệnh nào để nối các phần tử của danh sách thành một xâu?

a)

in

b)

find()

c)

split()

d)

join()

18.

Cho xâu s = "ABCABC". Lệnh s.find("BC") trả lại giá trị là bao nhiêu?

a)

0

b)

1

c)

2

d)

-1

19.

Trong python, để ghép 2 xâu với nhau ta sử dụng toán tử nào?

a)

*

b)

+

c)

and

d)

in

20.

Kết quả của chương trình sau là gì? a = "Hello" b = "world" c = a + " " + b print(c)

a)

hello world

b)

Hello World

c)

Hello word

d)

Helloword

21.

Trong Python, cho các xâu ký tự như sau: s1 = "abc abc abcaa"; s2 = "bc"; Câu lệnh s1.find(s2,1) trả về kết quả là bao nhiêu?

a)

-1

b)

1

c)

5

d)

9

22.

Kết quả của các câu lệnh sau là gì? s = "12 34 56 ab cd de " print(s. find(" ")) print(s.find("12")) print(s. find("34"))

a)

2, 0, 3.

b)

2, 1, 3.

c)

3, 5, 2.

d)

1, 4, 5.

23.

Cho xâu s = "1, 2, 3, 4, 5". Muốn xoá bỏ kí tự "," và thay thế bằng dấu " " ta sử dụng lần lượt những câu lệnh nào?

a)

remove() và join()

b)

del() và replace()

c)

split() và join()

d)

split() và replace()

24.

Cho đoạn chương trình sau: s = "abc123abc12" a = s.split("a") s = "".join(a). Giá trị của s sau khi thực hiện đoạn CT trên là

a)

"abc123abc12"

b)

"bc123bc12"

c)

"abcabc"

d)

"12312"

25.

Sau khi thực hiện đoạn lệnh sau, biến count sẽ có giá trị bao nhiêu? s='1a2b3c4d5e' count=0 for ch in s: if 'a'<=ch<='z': count=count+1

a)

Abcde

b)

12345

c)

0

d)

5

26.

Chọn phát biểu đúng khi nói về dữ liệu kiểu mảng(List) trong python.

a)

Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ tự và mọi phần tử có cùng một kiểu dữ liệu.

b)

Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác nhau.

c)

Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần tử phải có cùng một kiểu dữ liệu.

d)

Tất cả ý trên đều sai.

27.

Cách khai báo biến mảng sau đây, cách nào sai?

a)

ls = [1, 2, 3]

b)

ls = [x for x in range(3)]

c)

ls = [int(x) for x in input().split()]

d)

ls = list(3).

28.

Đối tượng dưới đây thuộc kiểu dữ liệu nào? A = [1, 2, '3']

a)

list.

b)

int.

c)

float.

d)

string.

29.

Cho arr = ['xuan', 'hạ', 1.4, 'đông', '3', 4.5, 7]. Đâu là giá trị của arr[3]?

a)

1.4.

b)

đông.

c)

hạ.

d)

3.

30.

Giả sử là một danh sách các số, lệnh nào sau đây bổ sung số 100 vào đầu danh sách A ?

a)

A= A + [100]

b)

Del A[100]

c)

A= [100] +A

d)

A=A[1]*100

31.

Cho khai báo mảng sau: A = list("3456789") Để in giá trị phần tử thứ 2 của mảng một chiều A ra màn hình ta viết:

a)

print(A[2]).

b)

print(A[1]).

c)

print(A[3]).

d)

print(A[0]).

32.

Giả sử có một list: i = [2, 3, 4]. Nếu muốn in list này theo thứ tự ngược lại ta nên sử dụng phương pháp nào sau đây?

a)

print(list(reversed(i)))

b)

print(list(reverse(i)))

c)

print(reversed(i))

d)

print(reversed(i))

33.

Kết quả của chương trình sau là gì? A = [2, 3, 5, "python", 6] A.append(4) A.append(2) A.append("x") del(A[2]) print(len(A))

a)

5

b)

6

c)

7

d)

8

34.

Chương trình sau thực hiện công việc gì? A=[] for i in range(1, 1001): if(i % 7 == 0) and (i % 5 !=0): A.append(str(i)) print(','.join(A))

a)

Tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 1 và 1000.

b)

Tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 1 và 1000 và chuỗi thu được in trên một dòng, có dấu "," ngăn cách giữa các số.

c)

Tìm tất cả các số chia hết cho 7 và là bội số của 5, nằm trong đoạn 1 và 1000.

d)

Tìm tất cả các số không chia hết cho 7 nhưng là phải bội số của 5, nằm trong đoạn 1 và 1000.

35.

Lệnh xoá một phần tử của một danh sách A có chỉ số i là:

a)

list.del(i)

b)

A.del(i)

c)

del(A[i])

d)

A.del[i]

36.

Đoạn chương trình sau in ra kết quả gì?

a)

6 7 8 9

b)

6 7 8

c)

1 2 3 4 5 6 7 8 9

d)

Câu lệnh lỗi không thực hiện

37.

Đoạn lệnh sau đây in ra kết quả gì?

a)

1 3 6 10 15 21 28 361 3 6 10 15

b)

1 2 3 4 5 6 7 8

c)

1 2 3 4 5 6 7 8 9

d)

Câu lệnh lỗi không thực hiện.

38.

Nếu S = "1234567890" thì S[0:4] là gì?

a)

"123"

b)

"0123"

c)

"01234"

d)

"1234"

39.

Kết quả đoạn chương trình sau là gì? S = "0123456789" T = "" for i in range(0, len(S), 2): T = T + S[i] print(T)

a)

""

b)

"02468"

c)

"13579"

d)

"0123456789"

40.

Lệnh sau trả lại giá trị gì? "abcde".find("")

a)

-1

b)

0

c)

1

d)

Báo lỗi.

41.

Lệnh sau trả lại giá trị gì? "0123456789".find("012abc")

a)

-1

b)

0

c)

1

d)

Báo lỗi.

42.

Lệnh sau trả lại giá trị gì? len(" Hà Nội Việt Nam ".split())

a)

0

b)

4

c)

5

d)

6

43.

Lệnh sau trả lại giá trị gì? "Trường Sơn".find("Sơn", 4)

a)

5

b)

6

c)

7

d)

8

44.

Lệnh sau trả lại giá trị gì? "Trường Sơn".find("Sơn", 8)

a)

5

b)

6

c)

7

d)

-1

45.

Trong định nghĩa của hàm có thể có bao nhiêu từ khóa return?

a)

1

b)

2

c)

5

d)

Không hạn chế.

46.

Sau khi thực hiện các câu lệnh sau, mảng A như thế nào? >>> A = [1, 2, 3, 4, 5] >>> A.remove(2) >>> print(A)

a)

[1, 2, 3, 4]

b)

[2, 3, 4, 5]

c)

[1, 2, 4, 5]

d)

[1, 3, 4, 5]

47.

Phần tử thứ bao nhiêu trong mảng A bị xoá? >>> A = [10, 20, 3, 30, 20, 30, 20, 6, 3, 2, 8, 9] >>> A.remove(3) >>> print(A)

a)

2

b)

3

c)

8

d)

4

48.

Kết quả khi thực hiện chương trình sau? >>> A = [1, 2, 3, 5] >>> A.insert(2, 4) >>> print(A)

a)

1, 2, 3, 4

b)

1, 2, 4, 3, 5

c)

1, 2, 3, 4, 5

d)

1, 2, 4, 5

49.

Lệnh sau, chèn phần tử cần thêm vào vị trí thứ mấy trong danh sách A? A.insert(-5, 3)

a)

3

b)

1

c)

0

d)

2

50.

Danh sách A trước và sau lệnh insert() là [1, 3, 5, 0] và [1, 3, 4, 5, 0]. Lệnh đã dùng là lệnh gì?

a)

insert(2, 4)

b)

insert(4, 2)

c)

insert(3, 4)

d)

insert(4, 3)

51.

Hoàn thiện chương trình tính tích các phần tử dương trong danh sách A. >>> S = (…) >>> for i in range(len(A)): (…) S = S * A[i] >>> print(S)

a)

1, if A[i] > 0:

b)

0, if A[i] > 0:

c)

1, if A[i] >= 0.

d)

0, if A[i] > 0.

52.

Chương trình sau thực hiện công việc gì? A=[] for i in range(1, 1001): if(i % 7 == 0) and (i % 5 !=0): A.append(str(i)) print(','.join(A))

a)

Tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 1 và 1000.

b)

Tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 1 và 1000 và chuỗi thu được in trên một dòng, có dấu "," ngăn cách giữa các số.

c)

Tìm tất cả các số chia hết cho 7 và là bội số của 5, nằm trong đoạn 1 và 1000.

d)

Tìm tất cả các số không chia hết cho 7 nhưng là phải

53.

Chương trình sau thực hiện công việc gì?

A=[]

for i in range(1, 1001):

if(i % 7 == 0) and (i % 5 !=0):

A.append(str(i))

print(','.join(A))

a)

A. Tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 1 và 1000.

b)

B. Tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 1 và 1000 và chuỗi thu được in trên một dòng, có dấu “,” ngăn cách giữa các số.

c)

C. Tìm tất cả các số chia hết cho 7 và là bội số của 5, nằm trong đoạn 1 và 1000.

d)

D. Tìm tất cả các số không chia hết cho 7 nhưng là phải bội số của 5, nằm trong đoạn 1 và 1000.

54.

Trong ngôn ngữ lập trình Python, mệnh đề nào dưới đây mô tả đúng quan hệ giữa hàm và thủ tục?

a)

Hàm và thủ tục là hai khái niệm hoàn toàn khác nhau.

b)

Hàm là thủ tục nhưng thủ tục có thể không phải là hàm.

c)

Trong Python, hàm và thủ tục là hai khái niệm đồng nhất.

d)

Thủ tục là hàm nhưng hàm có thể không phải là thủ tục.

55.

Khi gọi hàm, dữ liệu được truyền vào hàm được gọi là gì?

a)

Tham số

b)

Hiệu số

c)

Đối số

d)

Hàm số

56.

Kết quả của chương trình sau là: def PhepNhan(Number): return Number * 10; print(PhepNhan(5))

a)

5.

b)

10.

c)

Chương trình bị lỗi.

d)

50.

57.

Kết quả của chương trình sau là: def Kieu(Number): return type(Number); print(Kieu (5.0))

a)

5.

b)

float.

c)

Chương trình bị lỗi.

d)

int.

58.

Điền vào (…) để tìm ra số lớn nhất trong 3 số nhập vào: def find_max(a, b, c): max = a if (…): max = b if (…): max = c return max

a)

max < b, max < c.

b)

max <= b, max < c.

c)

max < b, max <= c.

d)

max <= b, max <= c.

59.

Chương trình sau ra kết quả bao nhiêu? def get_sum(num): tmp = 0 for i in num: tmp += i return tmp result = get_sum(1, 2, 3, 4, 5) print(result)

a)

12.

b)

13.

c)

14.

d)

15.

60.

Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu? def add(a, b) sum = a + b return sum x = int(input("Nhập số thứ nhất:")) y = int(input("Nhập số thứ hai:")) tong = add(x, y) print("Tổng là: " + str(tong))

a)

1.

b)

2.

c)

3.

d)

4.

61.

Kết quả của chương trình sau: def my_function(x): return 3 * x print(my_function(3)) print(my_function(5)) print(my_function(9))

a)

3, 5, 9.

b)

9, 15, 27.

c)

9, 5, 27.

d)

Chương trình bị lỗi.

62.

Khi khai báo hàm, thành phần nào được định nghĩa và được dùng như biến trong hàm?

a)

Tham số.

b)

Đối số.

c)

Dữ liệu.

d)

Giá trị.

63.

Chọn phát biểu đúng trong các phát biểu sau:

a)

Lời gọi hàm không có lỗi nếu tham số được truyền chưa có giá trị.

b)

Số lượng giá trị được truyền vào hàm bằng số tham số trong khai báo của hàm.

c)

Tham số là giá trị được truyền vào khi gọi hàm.

d)

Cả 3 phát biểu trên đều đúng.

64.

Giả sử hàm f có hai tham số khi khai báo. Khi gọi hàm, 2 giá trị đối số nào truyền vào sẽ gây lỗi?

a)

2, 3.

b)

10, c.

c)

"a", "b".

d)

"a", "3".

65.

Các tham số của f có kiểu dữ liệu gì nếu hàm f được gọi như sau: f( '5.0')

a)

str

b)

float.

c)

int.

d)

Không xác định.

66.

Hàm f được khai báo như sau f(a, b, c). Số lượng đối số truyền vào là:

a)

3.

b)

2.

c)

1.

d)

4.

67.

Chương trình sau bị lỗi ở dòng thứ bao nhiêu ? def tinh(a, b): if(b != 0): return a // b s = tinh(1, m) print(s)

a)

2.

b)

3.

c)

4.

d)

5.

68.

Giá trị của x là bao nhiêu sau biết kết quả là 8: def tinh(a, b, c): if(b != 0): return a // b + c*2 s = tinh(1, 5, x) print(s)

a)

3.

b)

2.

c)

1.

d)

4.

69.

Hoàn thiện chương trình sau: def USCLN_2(a, b): r = a % b while r != 0: a = b b = r r = a % b return (…)

a)

a.

b)

b.

c)

r.

d)

Chương trình bị lỗi.

70.

Hoàn thiện chương trình tìm UCLN của hai số? def USCLN_1(a, b): if (…): return a return USCLN_1(b, a % b) a = input('Nhap vao so nguyen duong a = ') b = int(input('Nhao vao so nguyen duong b = ')) print(USCLN_1(a, b))

a)

a > c.

b)

a > b.

c)

a == 1.

d)

b == 0.

71.

Cho đoạn chương trình, hãy cho biết biến nào là biến địa phương? a = [3, 4, 5, 6, 7, 8] def findX(x): i = 0 while i < len(a): if a[i] == x: return i i = i+1 return -1 k = 6 print(findX(k))

a)

biến a

b)

biến k

c)

biến x

d)

biến i

72.

Cho đoạn chương trình, hãy cho biết biến nào là biến tổng thể?

def findX(x):

   a = [3, 4, 5, 6, 7, 8]

   i = 0

   while i < len(a):

      if a[i] == x:

         return i

      i = i+1

   return -1

k = 9

print(findX(k))

a)

biến a

b)

biến k

c)

biến x

d)

biến i

73.

Mệnh đề nào dưới đây mô tả đúng về hàm tự định nghĩa không trả lại giá trị?

a)

Trong mô tả hàm không có từ khóa return.

b)

Trong mô tả hàm chỉ có một từ khóa return.

c)

Trong mô tả hàm phải có tối thiểu hai từ khóa return.

d)

Trong mô tả hàm hoặc không có return hoặc có return nhưng không có giá trị sau từ khóa return.

74.

Khi gọi hàm, dữ liệu được truyền vào hàm được gọi là gì?

a)

Tham số.

b)

Hiệu số.

c)

Đối số.

d)

Hàm số.

75.

Đoạn chương trình sau sẽ in ra số nào?

>>> def f(x, y):

        z = x + y

        return x y z

>>> f(1, 4)

a)

10

b)

18

c)

20

d)

30

76.

Câu lệnh while kiểm tra điều kiện sau khi thực hiện khối lệnh.

a)

Sai

b)

Đúng

77.

Vòng lặp while sẽ dừng lại khi điều kiện trở thành sai.

a)

Sai

b)

Đúng

78.

Trong câu lệnh while, điều kiện là một biểu thức logic trả về giá trị kiểu bool.

a)

Sai

b)

Đúng

79.

Vòng lặp while luôn thực hiện ít nhất một lần, ngay cả khi điều kiện ban đầu là sai.

a)

Sai

b)

Đúng

80.

Câu lệnh while có thể tạo ra vòng lặp vô hạn nếu điều kiện luôn đúng.

a)

Sai

b)

Đúng

81.

Trong Python, câu lệnh while không hỗ trợ câu lệnh else.

a)

Sai

b)

Đúng

82.

Biến điều kiện trong vòng lặp while phải được thay đổi bên trong khối lệnh của vòng lặp để tránh vòng lặp vô hạn.

a)

Sai

b)

Đúng

83.

Chỉ số của một ký tự trong xâu bắt đầu từ 1.

a)

Sai

b)

Đúng

84.

Toán tử + có thể được sử dụng để nối hai xâu ký tự.

a)

Sai

b)

Đúng

85.

Xâu ký tự trong Python không thể lặp lại nhiều lần.

a)

Sai

b)

Đúng

86.

Câu lệnh len(s) trả về tổng giá trị các ký tự trong xâu.

a)

Sai

b)

Đúng

87.

Có thể lấy một phần của xâu bằng cách sử dụng cú pháp cắt (slicing).

a)

Sai

b)

Đúng

88.

Toán tử in có thể được sử dụng để kiểm tra xem một xâu con có trong xâu cha hay không.

a)

Đúng

b)

Sai

89.

Hàm s.upper() làm cho toàn bộ ký tự trong xâu s thành chữ thường.

a)

Đúng

b)

Sai

90.

Danh sách trong Python có thể chứa các phần tử thuộc nhiều kiểu dữ liệu khác nhau.

a)

Đúng

b)

Sai

91.

Chỉ số của phần tử trong danh sách luôn bắt đầu từ 1.

a)

Đúng

b)

Sai

92.

Danh sách trong Python có thể thay đổi được (mutable).

a)

Đúng

b)

Sai

93.

Danh sách trong Python không thể chứa danh sách khác.

a)

Đúng

b)

Sai

94.

Câu lệnh len(my_list) trả về tổng giá trị các phần tử trong danh sách.

a)

Đúng

b)

Sai

95.

Toán tử + có thể được sử dụng để nối hai danh sách trong Python.

a)

Đúng

b)

Sai

96.

Danh sách không thể chứa phần tử trùng lặp.

a)

Đúng

b)

Sai

97.

Câu lệnh my_list.append(x) thêm phần tử x vào đầu danh sách.

a)

Đúng

b)

Sai

98.

Câu lệnh my_list.insert(2, x) chèn phần tử x vào vị trí có chỉ số 2 trong danh sách.

a)

Đúng

b)

Sai

99.

Câu lệnh del my_list[0] xóa phần tử đầu tiên của danh sách.

a)

Đúng

b)

Sai

100.

Trong Python, một xâu ký tự (string) được đặt trong dấu nháy đơn (' ') hoặc dấu nháy kép (" ").

a)

Đúng

b)

Sai

101.

Trong Python, chương trình con được định nghĩa bằng từ khóa def.

a)

Đúng

b)

Sai

102.

Một hàm trong Python có thể không cần sử dụng từ khóa return.

a)

Đúng

b)

Sai

103.

Hàm trong Python không thể có tham số.

a)

Đúng

b)

Sai

104.

Trong Python, một hàm có thể gọi lại chính nó (đệ quy).

a)

Đúng

b)

Sai

105.

Trong Python, tất cả các tham số đều được truyền theo kiểu tham trị (pass by value).

a)

Đúng

b)

Sai

106.

Có thể định nghĩa nhiều hàm có cùng tên trong một chương trình Python.

a)

Đúng

b)

Sai

107.

Lệnh return có thể trả về nhiều giá trị cùng lúc.

a)

Đúng

b)

Sai

108.

Hàm print() trong Python là một chương trình con có sẵn.

a)

Đúng

b)

Sai

109.

Mọi chương trình con trong Python đều phải có tham số.

a)

Đúng

b)

Sai

110.

Trong Python có thể tự tạo hàm trùng tên với một hàm có sẵn.

a)

Đúng

b)

Sai

111.

Trong Python có thể định nghĩa hàm với tên trùng với từ khóa.

a)

Đúng

b)

Sai

112.

Trong Python lệnh print() là hàm.

a)

Đúng

b)

Sai