wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Kiểm tra kiến thức lập trình

Total questions: 47

Worksheet time: 24mins

Name
Class
Date
1.

Cho biết kết quả của đoạn chương trình sau: S=0 for i in range(5,10) : S=S+i print(S)

a)

34

b)

35

c)

45

d)

46

2.

Cho biết đoạn chương trình sau thực hiện công việc gì? d=0 for i in range(1000) if i%5!=0: d=d+1

a)

Đếm các số là bội của 5

b)

Đếm các số là số chẵn

c)

Đếm các số là số lẻ

d)

Đếm các số không chia hết cho 5

3.

Cho đoạn lệnh sau: for i in range(6): print(i, end = " " ) Khi đó trên màn hình sẽ hiển thị các giá trị là:

a)

0 1 2 3 4 end

b)

0 1 2 3 4 5 end = " "

c)

0 1 2 3 4 5

d)

1 2 3 4 5

4.

Để biến i nhận giá trị 1,2,3,4,5,6,7,8,9,10,11 trong lệnh for i in range(...), ta viết?

a)

range(1,12)

b)

range(1,11)

c)

range(0,12)

d)

range(12)

5.

Hãy cho biết kết quả trên màn hình khi thực hiện đoạn lệnh sau? s=10; for k in range(101): s=k print(s)

a)

100

b)

4961

c)

10

d)

101

6.

Để tính tổng S = 1 + 2 + 3 + 4 +… + n + … cho đến khi S>100, điều kiện trong vòng lặp while nào sau đây là đúng?

a)

while S >= 100

b)

while S < 100

c)

while S <= 100

d)

while S >100

7.

Phát biểu nào chưa chính xác về câu lệnh lặp while?

a)

Khối lệnh lặp trong while cần có câu lệnh làm thay đổi giá trị của <điều kiện>.

b)

Khối lệnh lặp trong while được thực hiện với số lần xác định trước.

c)

Khối lệnh lặp trong while được thực hiện cho đến khi <điều kiện> = False.

d)

Khối lệnh lặp trong while có thể được thực hiện vô hạn nếu <điều kiện> luôn luôn đúng.

8.

Cho biết vòng lặp sau sẽ dừng khi nào? while a!=b: if a>b: a=a-b else: b=b-a

a)

Khi a lớn hơn b

b)

Khi a khác b

c)

Khi a bằng b

d)

Khi a nhỏ hơn b

9.

Cho biết cấu trúc lập trình câu lệnh sau: a=int(input()) b=int(input()) a=a-b print(a,b)

a)

Cấu trúc lặp

b)

Cấu trúc tuần tự

c)

Cấu trúc rẽ nhánh

d)

Không

10.

Cho biết cấu trúc lập trình câu lệnh sau: while a>b: a=a-b

a)

Không thuộc cấu trúc nào

b)

Cấu trúc tuần tự

c)

Cấu trúc rẽ nhánh

d)

Cấu trúc lặp

11.

Để kiểm tra một phần tử có nằm trong danh sách đã cho hay không, ta sử dụng toán tử?

a)

if

b)

is

c)

in

d)

as

12.

Chọn phát biểu ĐÚNG trong các phát biểu sau:

a)

Các phần tử của kiểu danh sách chỉ được cùng một kiểu dữ liệu

b)

Có thể truy cập từng phần tử kiểu danh sách thông qua chỉ số

c)

Chỉ số các phần tử kiểu danh sách không thể bắt đầu từ một số bất kì

d)

Các phần tử kiểu danh sách được cách nhau bởi dấu chấm phẩy

13.

Lệnh DS.insert(3,5) sẽ:

a)

Chèn số 5 vào đầu danh sách DS

b)

Chèn số 3 tại chỉ số 5 của danh sách DS

c)

Chèn số 5 tại chỉ số 3 của danh sách DS

d)

Chèn số 3 vào cuối danh sách DS

14.

Cho biết giá trị của danh sách DS sau khi thực hiện đoạn lệnh sau: DS=[5,14,27,32] DS.append(20) del DS[2]

a)

[5, 14, 32, 20]

b)

[14, 32, 20]

c)

[5, 32, 27, 20]

d)

[5, 14, 27, 20]

15.

Lệnh DS.insert(0,1) sẽ?

a)

Chèn 0 vào vị trí 1 trong danh sách DS

b)

Chèn 1 vào vị trí 0 trong danh sách DS

c)

Chèn 1 vào cuối danh sách DS

d)

Chèn 0 vào đầu danh sách DS

16.

Khi nào lệnh DS.append(1) và DS.insert(0,1) có tác dụng giống nhau?

a)

Khi DS=[]

b)

Khi DS chỉ có 5 phần tử

c)

Khi DS chỉ có 1 phần tử

d)

Khi DS chỉ có 3 phần tử

17.

Để thêm một phần tử vào cuối danh sách, ta sử dụng lệnh:

a)

append()

b)

range()

c)

clear()

d)

remove()

18.

Cho lệnh sau: M=[4,5,6,7,8,9] M.insert(-10,10) Thì danh sách M sẽ nhận các giá trị nào?

a)

Thông báo lỗi

b)

[4,5,6,7,8,9,10]

c)

[4,10,5,6,7,8,9]

d)

[10,4,5,6,7,8,9]

19.

Chọn phát biểu SAI trong các phát biểu sau:

a)

Các phần tử của kiểu danh sách chỉ được cùng một kiểu dữ liệu

b)

Có thể truy cập từng phần tử kiểu danh sách thông qua chỉ số

c)

Chỉ số các phần tử kiểu danh sách bắt đầu từ 0

d)

Các phần tử kiểu danh sách được cách nhau bởi dấu phẩy

20.

Lệnh nào sau đây tạo một danh sách rỗng có độ dài bằng 0:

a)

A=[]

b)

A=A+[1]

c)

A=[1]+A

d)

A=A[1]*0

21.

Chọn phát biểu SAI trong các phát biểu sai

a)

Có thể thay đổi kí tự của một xâu

b)

Xâu kí tự trong Python là dãy các kí tự Unicode

c)

Xâu có thể được coi là danh sách các kí tự

d)

Có thể truy cập đến từng kí tự của xâu thông qua chỉ số

22.

Câu lệnh: "a" in "abcd" cho kết quả là:

a)

False

b)

True

c)

1

d)

0

23.

Cho biết kết quả của đoạn chương trình sau: s ="35287" for ch in s: if int(ch) % 2 == 0: print(ch, end=" ")

a)

2 8

b)

3 5 7

c)

3 5 2 8 7

d)

[2,8]

24.

Cho biết kết quả của đoạn chương trình sau: s = "abcd1234" kq = False for i in range(len(s)-1): if s[i] == "2" and s[i+1] == "1": kq = True print(kq)

a)

False

b)

True

c)

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

d)

Vòng lặp thực hiện vô hạn

25.

Sử dụng lệnh nào để tìm vị trí của một xâu con trong xâu mẹ?

a)

test()

b)

join()

c)

find()

d)

split()

26.

Chọn phát biểu ĐÚNG trong các phát biểu sau:

a)

Câu lệnh find có một cú pháp duy nhất

b)

Cú pháp của lệnh find là: . find()

c)

Lệnh find sẽ tìm vị trí đầu tiên của xâu mẹ trong xâu con

d)

Lệnh find trả về trả về vị trí của xâu con trong xâu mẹ

27.

Lệnh sau trả về giá trị gì? "abcdef".find("ab",4)

a)

-1

b)

True

c)

False

d)

1

28.

Cho biết kết quả của đoạn chương trình sau: st = "a, b, c, d, e, f, g, h" st.split() print(st)

a)

a, b, c, d, e, f, g, h

b)

a b c d e f

c)

abcdef

d)

"abcdef"

29.

Lệnh dưới đây thì dòng chữ "QUOC HOC" được in ra bao nhiêu lần? dk='a'<'A' while dk: print('QUOC HOC')

a)

0 lần

b)

1 lần

c)

Vô hạn lần

d)

Báo lỗi

30.

Dựa trên kiến thức về lệnh lặp for trong Python, hãy xác định các phát biểu sau đây là đúng hay sai?

a)

Biến k trong lệnh for k in range(n): sẽ lần lượt nhận các giá trị từ 0 đến n-1.

b)

Vùng giá trị của lệnh range(n) gồm n số nguyên liên tiếp từ 1 đến n.

c)

Câu lệnh if k%2 != 0 được sử dụng để kiểm tra xem k có phải là số chẵn hay không

d)

Đoạn mã sau sẽ tính tổng các số là bội của 3 nhỏ hơn n. C = 0 for k in range(n): if k%3 == 0: C = C + k print(C)

31.

Trong Python cách sử dụng lệnh for trong các câu sau là đúng hay sai?

a)

Vùng giá trị của lệnh range(1, n+1) sẽ bao gồm các số từ 1 đến n.

b)

Tổng giá trị của S trong đoạn mã S = 0 for k in range(1, n+1): S = S + k sẽ bằng tổng của 1+2+...+n.

c)

Lệnh range(1, n+1) và lệnh range(n) sẽ trả về cùng một vùng giá trị nếu n=1.

d)

Đoạn mã for k in range(1, n+1): S = S + k sẽ tính tổng của các số từ 0 đến n-1.

32.

Trong Python các phát biểu sau là đúng hay sai?

a)

Lệnh range(1, 101) sẽ tạo ra vùng giá trị gồm các số từ 1 đến 100.

b)

Điều kiện để thực hiện câu lệnh lặp for k in range(n) là n>=0.

c)

Lệnh range(100, 1) sẽ tạo ra vùng giá trị gồm các số từ 100 đến 1.

d)

Đoạn chương trình sau sẽ tính tổng các số từ 5 đến 10? S=0 for i in range(5,10) : S=S+i print(S)

33.

Dựa trên kiến thức về lệnh lặp for trong Python, hãy xác định các phát biểu sau là đúng hay sai?

a)

Lệnh range(1, 51) sẽ tạo ra vùng giá trị gồm các số từ 1 đến 50.

b)

Lệnh range(5, 11) sẽ tạo ra vùng giá trị gồm các số từ 5 đến 10.

c)

Câu lệnh if k/2 == 0 được sử dụng để kiểm tra xem k có phải là số chẵn hay không.

d)

Đoạn mã sau sẽ đếm các số dương nhỏ hơn 1000 không chia hết cho 5? d=0 for i in range(1000) : if i%5!=0: d=d+1

34.

Hãy xác định các phát biểu về đoạn chương trình sau là đúng hay sai?

a)

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

b)

Giá trị của i sẽ không bao giờ lớn hơn hoặc bằng 5 trong vòng lặp này.

c)

Vòng lặp while này có thể trở thành một vòng lặp vô hạn nếu điều kiện i < 5 luôn đúng

d)

Để in ra màn hình các số từ 5 đến 100, ta viết:

i=5

while i<=100: print(i)

i += 1

35.

Câu 35. Cho đoạn chương trình sau, hãy xác định các phát biểu sau là đúng hay sai? sum = 0 n = 2 while n <= 100: sum += n n += 2

a)

Đoạn chương trình trên tính tổng các số từ 2 đến 100.

b)

Nếu n không được tăng thêm 2 trong mỗi lần lặp, vòng lặp có thể bị lặp vô hạn.

c)

Giá trị của n sau khi kết thúc vòng lặp là 100

d)

Để tính tổng các số lẻ từ 2 đến 100, ta viết: sum = 0 n = 1 while n <= 100: sum += n n += 1

36.

Câu 36. Trong các cấu trúc lập trình cơ bản (tuần tự, rẽ nhánh, lặp) hãy xác định các phát biểu sau là đúng hay sai?

a)

Cấu trúc tuần tự là cấu trúc mà các lệnh được thực hiện theo thứ tự từ trên xuống dưới, không có bất kỳ sự rẽ nhánh hay lặp nào.

b)

Cấu trúc rẽ nhánh cho phép chương trình thực hiện các khối lệnh khác nhau dựa trên các điều kiện cụ thể.

c)

Cấu trúc lặp là cấu trúc chỉ thực hiện các lệnh một lần và không lặp lại.

d)

Đoạn chương trình sau là một dạng cấu trúc tuần tự? a=int(input()) b=int(input()) a=a-b print(a,b)

37.

Câu 37. Trong các cấu trúc lập trình cơ bản (tuần tự, rẽ nhánh, lặp) hãy xác định các phát biểu sau là đúng hay sai?

a)

Cấu trúc tuần tự không bao gồm các lệnh điều kiện hoặc lặp, chỉ có các lệnh được thực hiện liên tục.

b)

Cấu trúc rẽ nhánh trong Python được thực hiện bằng câu lệnh for.

c)

Trong một chương trình, các cấu trúc tuần tự, rẽ nhánh và lặp có thể được kết hợp với nhau để giải quyết các bài toán phức tạp.

d)

Đoạn chương trình sau là một dạng cấu trúc lặp? a=int(input()) b=int(input()) a=a**b print(a)

38.

Câu 38. Hãy xác định các phát biểu là đúng hay sai về đoạn chương trình sau? A=[3,5,1,8,6,9] for i in range(2,5): print(A[i], end= " ")

a)

Vòng lặp for sẽ thực hiện với i chạy từ 2 đến 5.

b)

Kết quả in ra màn hình là: 1 8 6 9.

c)

Kết quả chương trình sẽ in ra màn hình các vị trí 2, 3 và 4 của danh sách A.

d)

Nếu thay đổi range(2, 5) thành range(1, 4) thì kết quả in ra sẽ là: 5 1 8 6 [

39.

Hãy xác định các phát biểu là đúng hay sai về đoạn chương trình sau? S=0 for i in range(len(A)): if A[i] > 0: S=S+A[i] print(S)

a)

Đây là chương trình tính tổng các giá trị dương trong danh sách A.

b)

Biến S sẽ luôn có giá trị dương sau khi đoạn mã này được thực hiện

c)

Vòng lặp for trong đoạn mã này sẽ lặp qua tất cả các phần tử của danh sách A.

d)

Nếu danh sách A chỉ chứa các số âm, thì giá trị cuối cùng của S sẽ là giá trị âm nhỏ nhất trong A.

40.

Hãy xác định các phát biểu là đúng hay sai về đoạn chương trình sau? S=0 for i in range(len(A)): if A[i] > 0: S=S+A[i] print(S)

a)

Vòng lặp for trong đoạn chương trình sẽ chạy đúng bằng số phần tử trong danh sách

b)

Điều kiện A[i] > 0 trong đoạn chương trình trên chỉ cho phép cộng những số dương vào biến S.

c)

Giá trị của biến S sau khi thực hiện đoạn chương trình trên sẽ là tổng của tất cả các phần tử trong A.

d)

Nếu danh sách A chứa ít nhất một giá trị dương, thì giá trị của S sẽ khác 0 sau khi đoạn chương trình được thực hiện.

41.

Sử dụng danh sách C = ['apple', 'banana', 'cherry']. Hãy xác định các câu sau đúng hay sai?

a)

'banana' in C sẽ trả lại giá trị True.

b)

for item in C: print(item, end=" ") sẽ in ra màn hình: apple banana cherry end=

c)

for item in C: print(item) sẽ in ra apple, banana, cherry trên cùng một dòng.

d)

Để hoán đổi giá trị của phần tử C[1] và C[2], ta viết: C = ['apple', 'banana', 'cherry'] C[0]= 'banana' C[1]= 'apple'

42.

Cho danh sách D = [3, 6, 9, 12, 15]. Hãy xác định các câu sau đúng hay sai:

a)

Lệnh D.append(18) sẽ thêm giá trị 18 vào đầu danh sách.

b)

Sau khi thực hiện lệnh E.insert(-1, 5), danh sách sẽ trở thành [5, 3, 6, 9, 12, 15]

c)

Lệnh remove(20) sẽ xóa phần tử có giá trị 20 và danh sách trở thành [3, 6, 9, 12, 15].

d)

Để hiển thị ra màn hình các phần tử chia hết

43.

Cho xâu ký tự F = "Python". Hãy xác định các câu sau đúng hay sai?

a)

Ký tự tại vị trí F[2] là 't'.

b)

Lệnh F[1] = 'Y' sẽ thay đổi ký tự tại vị trí thứ 1 thành 'Y'.

c)

Hàm len(F) sẽ trả về số kí tự có trong xâu F.

d)

Để tạo được xâu 'Code Python' ta sử dụng lệnh s = "Code"+ Python

44.

Cho xâu ký tự G = "Programming". Hãy xác định các câu sau đúng hay sai?

a)

Ký tự đầu tiên trong xâu G là '', và có thể truy cập bằng G

b)

Lệnh G.count("program",0) sẽ trả về kết quả là 1.

c)

Xâu G có thể được coi như một danh sách các ký tự.

d)

Lệnh: S= "" for ch in G: S = ch + S sẽ tạo xâu đảo ngược của G

45.

Cho xâu ký tự s = "123456789". Hãy xác định các câu sau đúng hay sai?

a)

Biểu thức "13" in s sẽ trả về giá trị True.

b)

Lệnh s.find("345") sẽ trả về kết quả là 3.

c)

Lệnh s.replace("123","345") sẽ trả về kết quả xâu s là "123123456789".

d)

Kết quả của đoạn chương trình sau là "13579": kq= "" for ch in G: if int(ch)%2!=0: S = ch + S

e)

o có đáp án

46.

Cho xâu t = "Python programming is fun". Hãy xác định các câu sau đúng hay sai?

a)

Biểu thức "programming" in t sẽ trả về giá trị True.

b)

Biểu thức t.find("Python") sẽ trả về giá trị 7

c)

Biểu thức t.find("is") sẽ trả về giá trị 18.

d)

Biểu thức "Fun" in t sẽ trả về giá trị True.

47.

Cho xâu s = "Python,Java,C++,Ruby,C". Hãy xác định các câu sau đúng hay sai?

a)

Biểu thức s.split(",") sẽ trả về danh sách ['Python', 'Java', 'C++', 'C'].

b)

Biểu thức s.find("Java") sẽ trả về giá trị 2.

c)

Biểu thức "Pascal"+"Python,Java,C++,Ruby,C" sẽ trả về xâu 'Pascal,Python,Java,C++,Ruby,C'

d)

Để tạo xâu str tương tự xâu s, ta viết: str='' for i in s: str = i + str

e)

sai hết