wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

KIỂU DỮ LIỆU XÂU KÝ TỰ VÀ LIST

Total questions: 69

Worksheet time: 50mins

Name
Class
Date
1.

Lập trình nhập vào một xâu kí tự, đếm và thông báo ra màn hình số lượng kí tự A có mặt trong xâu.

4 lines
2.

Đoạn lệnh sau làm nhiệm vụ gì? A = [] for x in range(10): append(int(input()))

4 lines
3.

Danh sách A sẽ như thế nào sau các lệnh sau? A = [2, 3, 5, 6] A. append(4) del (A[2])

4 lines
4.

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.

4 lines
5.

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?

4 lines
6.

Phần tử thứ bao nhiêu trong mảng A bị xoá? >>> A = [10, 20, 3,

4 lines
7.

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)

A. in

b)

B. find()

c)

C. split()

d)

D. join()

8.

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= A + [100]

b)

B. Del A[100]

c)

C. A= [100] +A

d)

D. A=A[1]*100

9.

Kết quả của chương trình sau là gì?

a)

A. 5.

b)

B. 6.

c)

C. 7.

d)

D. 8.

10.

Khi gặp lỗi liên quan đến giá trị của đối tượng Python sẽ báo lỗi gì?

a)

ValueError.

b)

IndentationError.

c)

TypeError.

d)

ZeroDivisionError

11.

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

a)

A. *

b)

B. +

c)

C. and

d)

D. in

12.

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

a)

A. 6 7 8 9

b)

B. 6 7 8

c)

C. 1 2 3 4 5 6 7 8 9

d)

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

13.

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

a)

A. list

b)

B. int

c)

C. float

d)

D. string

14.

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

a)

A. list.del(i).

b)

B. A. del(i).

c)

C. del(A[i]).

d)

D. A.del[i].

15.

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

a)

A. "C"

b)

B. "o"

c)

C. "Codelearn"

d)

D. Câu lệnh bị lỗi

16.

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

a)

A. 1.4

b)

B. đông

c)

C. hạ

d)

D. 3

17.

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

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.

18.

Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào?

a)

Kiểm tra lại giá trị số chia.

b)

Kiểm tra lại chỉ số trong mảng.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

19.

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

a)

A. in

b)

B. find()

c)

C. split()

d)

D. join()

20.

Danh sách A sẽ như thế nào sau các lệnh sau?

a)

A. 2, 3, 4, 5, 6.

b)

B. 2, 3, 4, ưe 5, 6, 4.

c)

C. 2, 4, 5, 6.

d)

D. 2, 3, 6, 4.

21.

Chương trình khi chạy phát sinh lỗi ngoại lệ NameError, nên xử lí như thế nào?

a)

A. Kiểm tra lại chỉ số trong mảng.

b)

B. Kiểm tra lại tên các biến và hàm.

c)

C. Kiểm tra giá trị của số bị chia.

d)

D. Kiểm tra kiểu dữ liệu nhập vào.

22.

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

a)

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

b)

B. 1 2 3 4 5 6 7 8

c)

C. 1 2 3 4 5 6 7 8 9

d)

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

23.

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

a)

A. hello world

b)

B. Hello World

c)

C. Hello word

d)

D. Helloword

24.

Nếu chương trình chạy bị lỗi với thông báo lỗi là ZeroDivisionError thì đó là lỗi gì và em cần sửa lỗi như thế nào? Chọn phương án đúng nhất.

a)

A. Đây là lỗi không thể sửa được.

b)

B. Đây là lỗi chia cho 0, em cần xoá lệnh này khỏi chương trình.

c)

C. Đây là lỗi chia cho 0, em cần thay thế phép toán khác để không xảy ra lỗi này nữa.

d)

D. Đây là lỗi chia cho 0, em cần tìm hiểu nguyên nhân vì sao lại xuất hiện 0 khi chia, có thể bổ sung lệnh kiểm tra trước khi thực hiện phép chia.

25.

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)

A. print(A[2])

b)

B. print(A[1])

c)

C. print(A[3])

d)

D. print(A[0])

26.

Chương trình chạy phát sinh lỗi ngoại lệ TypeError, nên xử lí như thế nào?

a)

Kiểm tra lại chỉ số trong mảng.

b)

Kiểm tra lại giá trị số chia.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

27.

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)

A. print(list(reversed(i))

b)

B. print(list(reverse(i))

c)

C. print(reversed(i))

d)

D. print(reversed(i))

28.

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)

A. -1

b)

B. 1

c)

C. 5

d)

D. 9

29.

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"

30.

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

31.

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

a)

A. -1

b)

B. 1

c)

C. 5

d)

D. 9

32.

Cho s = "Trường THPT Hướng Hóa". Lệnh s.split(",") trả lại kết quả gì?

a)

A. ["Trường", "THPT", "Hướng", "Hóa"]

b)

B. ["Trường THPT Hướng Hóa"]

c)

C. [Trường THPT Hướng Hóa]

d)

D. Câu lệnh sai

33.

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()

34.

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)

A. in

b)

B. find()

c)

C. split()

d)

D. join()

35.

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

a)

A. 0

b)

B. 1

c)

C. 2

d)

D. -1

36.

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

a)

A. len(s)

b)

B. length(s)

c)

C. s.len()

d)

D. s. length()

37.

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

a)

A. ls = [1, 2, 3]

b)

B. ls = [x for x in range(3]

c)

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

d)

D. ls = list(3)

38.

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

39.

Phần tử thứ bao nhiêu trong mảng A bị xoá?

a)

2

b)

3

c)

8

d)

4

40.

Đoạn lệnh sau làm nhiệm vụ gì?

a)

Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số nguyên.

b)

Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là số thực.

c)

Nhập dữ liệu từ bàn phím cho mảng A có 10 phần tử là xâu.

d)

Không có đáp án đúng.

41.

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.

42.

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)

3

b)

1

c)

0

d)

2

43.

Thế nào là lỗi ngoại lệ trong Python?

a)

Lỗi khi viết một câu lệnh sai cú pháp của ngôn ngữ lập trình.

b)

Lỗi khi truy cập một biến chưa được khai báo.

c)

Lỗi khi không thể thực hiện một lệnh nào đó của chương trình.

d)

Lỗi khi chương trình biên dịch sang tệp exe.

44.

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

a)

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)

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)

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)

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

45.

Kết quả khi thực hiện chương trình sau?

a)

1, 2, 3, 4

b)

1, 2, 4, 3, 5

c)

1, 2, 3, 4, 5

d)

1, 2, 4, 5

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.

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)

A. 1.

b)

B. 2.

c)

C. 3.

d)

D. 4.

48.

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

49.

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ố

50.

Cho s = "Trường THPT Hướng Hóa". Lệnh s.split(" ") trả lại kết quả gì?

a)

A. ["Trường", "THPT", "Hướng", "Hóa"]

b)

B. ["Trường THPT Hướng Hóa"]

c)

C. [Trường THPT Hướng Hóa]

d)

D. Câu lệnh sai

51.

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.

52.

Cho đoạn chương trình sau: a=int(input() print(a) Lỗi trong chương trình trên là lỗi

a)

Cú pháp.

b)

Ngữ nghĩa

c)

Ngoại lệ

d)

Tất cả các lỗi trên.

53.

Hoàn thiện chương trình tính tích các phần tử dương trong danh sách A.

a)

1, if A[i] > 0:

b)

0, if A[i] > 0:

c)

1, if A[i] >= 0.

d)

0, if A[i] > 0.

54.

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)

A. Tham số.

b)

B. Đối số.

c)

C. Dữ liệu.

d)

D. Giá trị.

55.

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

56.

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

a)

A. 5.

b)

B. 10.

c)

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

d)

D. 50.

57.

Đ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)

A. max < b, max < c.

b)

B. max <= b, max < c.

c)

C. max < b, max <= c.

d)

D. max <= b, max <= c.

58.

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

59.

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

a)

A. Tham số

b)

B. Hiệu số

c)

C. Đối số

d)

D. Hàm số

60.

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

a)

A. 5.

b)

B. float.

c)

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

d)

D. int.

61.

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)

62.

Chương trình sau nên sửa như thế nào. Chọn phương án đúng nhất: f = [1,3,4] print(f[4])

a)

Thay đổi kiểu dữ liệu của từng phần tử trong mảng.

b)

Kiểm tra chỉ số của mảng khi thực hiện lệnh.

c)

Thay đổi tên mảng.

d)

Chương trình không có lỗi.

63.

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"

64.

Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu? a = "Hello Guy!" def say(i): return a + i say(3) print(a)

a)

A. 4.

b)

B. 2.

c)

C. 3.

d)

D. Không có dòng lệnh bị lỗi.

65.

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)

A. 3, 5, 9.

b)

B. 9, 15, 27.

c)

C. 9, 5, 27.

d)

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

66.

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

67.

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

68.

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

69.

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

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.