wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ôn Tập Cuối Kỳ 2

Total questions: 49

Worksheet time: 4mins

Name
Class
Date
1.

Có bao nhiêu xâu kí tự nào hợp lệ?

1) “123_@##”

2) “hoa hau”

3) “346h7g84jd”

4) python

5) “01028475”

6) 123456

a)

5.

b)

6.

c)

4.

d)

3

2.

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

a)

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

b)

Chỉ số bắt đầu từ 0.

c)

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

d)

Python không có kiểu dữ liệu kí tự.

3.

Sau khi thực hiện lệnh sau, biến s sẽ có kết quả là: s1 ="3986443" s2 = "" for ch in s1: if int(ch) % 2 == 0: s2 = s2 + ch print(s2)

a)

3986443.

b)

8644.

c)

39864.

d)

443.

4.

Biểu thức sau cho kết quả đúng hay sai? S1 = "12345" S2 = "3e4r45" S3 = "45" S3 in S1 S3 in S2

a)

True, False.

b)

True, True.

c)

False, False.

d)

False, True

5.

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

a)

test().

b)

in().

c)

find().

d)

split().

6.

Phát biểu nào chưa chính xác khi nói về toán tử in?

a)

Biểu thức kiểm tra xâu 1 nằm trong xâu 2 là: in

b)

Toán tử in trả về giá trị True nếu xâu 1 nằm trong xâu 2.

c)

Toán tử in trả về giá trị False nếu xâu 1 không nằm trong xâu 2.

d)

Toán tử in là toán tử duy nhất giải quyết được bài toán kiểm tra xâu có nằm trong xâu không.

7.

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.

8.

Phát biểu nào sau đây là đúng khi nói về các phương thức trong python?

a)

Python có một lệnh đặc biệt dành riêng cho xâu kí 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 con trong xâu mẹ.

d)

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

9.

Lệnh sau trả lại giá trị gì? >> "abcdabcd". find("cd") >> "abcdabcd". find("cd", 4)

a)

2, 6.

b)

3, 3.

c)

2, 2.

d)

2, 7.

10.

Lệnh nào sau đây dùng để tách xâu:

a)

split()

b)

join()

c)

remove()

d)

copy().

11.

Kết quả của chương trình sau là gì? >>> s = "Một năm có bốn mùa" >>> s.split() >>> st = "a, b, c, d, e, f, g, h" >>> st.split()

a)

'Một năm có bốn mùa', ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'].

b)

['Một', 'năm', 'có', 'bốn', 'mùa'], ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'].

c)

'Một năm có bốn mùa', 'abcdefgh'

d)

['Một', 'năm', 'có', 'bốn', 'mùa'], 'abcdefg

12.

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

a)

Lệnh join() nối các phần tử của một danh sách thành một xâu, ngăn cách bởi dấu cách.

b)

Trong lệnh join, kí tự nối tuỳ thuộc vào câu lệnh.

c)

split() có tác dụng tách xâu.

d)

Kí tự mặc định để phân cách split() là dấu cách.

13.

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.

14.

Hoàn thành câu lệnh sau để in ra chiều dài của xâu: x = "Hello World" print(…)

a)

x. len().

b)

len(x).

c)

copy(x).

d)

x. length().

15.

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

a)

Lệnh print() thực hiện việc in ra màn hình.

b)

Lệnh input() thực hiện yêu cầu nhập vào một biểu thức, số hay một xâu bất kì.

c)

Lệnh type() trả lại kiểu dữ liệu của biểu thức trong ngoặc.

d)

Lệnh str() chuyển đối tượng đã cho thành chuỗi.

16.

Số phát biểu đúng trong số phát biểu sau:

1) Python cung cấp sẵn nhiều hàm thực hiện những công việc khác nhau cho người dùng tuỳ ý sử dụng.

2) Lệnh float() chuyển đối tượng đã cho thành kiểu số thực.

3) Lệnh int trả về số nguyên từ số hoặc chuỗi biểu thức.

4) Trong python, người dùng chỉ được sử dụng các hàm có sẵn được xây dựng.

5) Người dùng có thể xây dựng thêm một số hàm mới.

a)

1.

b)

2.

c)

3.

d)

4.

17.

Phát biểu đúng trong các phát biểu sau là:

a)

Lệnh float() trả về số nguyên từ số hoặc chuỗi biểu thức.

b)

Có ít hàm có sẵn được xây dựng trong python.

c)

Lệnh bool() chuyển một giá trị sang Boolean.

d)

Lệnh input() có thể nhập vào một số nguyên mà không cần chuyển đổi kiểu.

18.

Chương trình sau cho kết quả là bao nhiêu? def chao(ten): """Hàm này dùng để chào một người được truyền vào như một tham số""" print("Xin chào, " + ten + "!") chao('Xuan')

a)

"Xin chào".

b)

"Xin chào, Xuan!".

c)

"Xin chào!".

d)

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

19.

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.

20.

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.

21.

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

22.

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)

4.

b)

2.

c)

3.

d)

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

23.

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ị.

24.

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.

25.

Phát biểu nào bị sai?

a)

Một hàm khi khai báo có một tham số nhưng khi gọi hàm có thể có 2 đối số.

b)

Tham số được định nghĩa khi khai báo hàm.

c)

Tham số và đối số có một số điểm khác nhau.

d)

Khi gọi hàm, các tham số sẽ được truyền bằng giá trị thông qua đối số của hàm.

26.

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".

27.

Khi gọi hàm f(1, 2, 3), khi định nghĩa hàm f có bao nhiêu tham số?

a)

1.

b)

2.

c)

3.

d)

4.

28.

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.

29.

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.

30.

Hoàn thành chương trình kiểm tra một số có là số nguyên tố không:

def prime(n):

   c = 0

    k = 1

while(k<n):

   if n%k == 0:

   c = c + 1

k = k+ 1

if c == 1:

return (…)

else:

return (…)

a)

True, False.

b)

True, True.

c)

False, False.

d)

False, True.

31.

Hoàn thiện (…) trong phát biểu sau: "Trong Python tất cả các biến khai báo bên trong hàm đều có tính …, không có hiệu lực ở bên … hàm".

a)

địa phương, trong.

b)

cục bộ, ngoài.

c)

địa phương, ngoài.

d)

toàn cục, ngoài.

32.

Số phát biểu đúng trong các phát biểu sau là:

1) Tất cả các biến bên trong hàm đều có tính cục bộ.

2) Tất cả các biến bên trong hàm chỉ có tính cục bộ.

3) Biến cục bộ trong hàm nếu gọi bên ngoài hàm sẽ bị lỗi.

a)

1.

b)

2.

c)

3.

d)

0.

33.

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

a)

Chương trình chính có thể sử dụng biến cục bộ bên trong hàm.

b)

Biến bên trong hàm có thể trùng tên với biến đã khai bao trước đó bên ngoài hàm.

c)

Tất cả các biến trong hàm đều có tính cục bộ.

d)

Các biến bên trong hàm không có hiệu lực ở bên ngoài hàm.

34.

Giá trị của x, y là bao nhiêu khi thực hiện lệnh f(1, 3)

>>> x, y = 3, 4

>>> def f(x, y):

x = x + y

y = y + 2

return x

a)

2, 3.

b)

4, 5.

c)

5, 4.

d)

3, 4.

35.

Giá trị của a, b là bao nhiêu khi thực hiện lệnh f(2, 5)

>>> a, b = 0, 1

>>> def f(a, b):

          a = a * b

          b = b // 2

       return a + b

a)

10, 2.

b)

10, 1.

c)

2, 5.

d)

0, 1.

36.

Kết quả của chương trình này là bao nhiêu?

s = "Tôi tên là: "

def kq(name):

      s = s+ name

print(kq("Long"))

a)

"Tôi tên là: Long".

b)

"Long".

c)

"Tôi tên là: ".

d)

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

37.

Kết quả của chương trình sau là bao nhiêu?

s = "Hôm nay tôi đi học "

def kq(name):

     s = "Hello World"

     s = s + “!!!”

    return s

  print(s)

a)

"Hôm nay tôi đi học ".

b)

"Hello World".

c)

"Hello World!!!".

d)

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

38.

Kết quả của chương trình sau là bao nhiêu?

def kq(name):

    s = "Tôi tên là: "

    s = s+ name

 return s

print(kq("Xuân"))

a)

"Tôi tên là: ".

b)

"Xuân".

c)

"Tôi tên là: Xuân".

d)

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

39.

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

a)

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

b)

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

c)

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

d)

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

40.

Cho xâu s = "abcdefghiabc". Hãy xác định các câu sau đúng hay sai:

a)

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

b)

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

c)

c) Biểu thức s.find("abc", 1) sẽ trả về giá trị 9.

d)

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

41.

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

a)

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

b)

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

c)

c) Biểu thức ",".join(['Python', 'Java', 'C++', 'Ruby']) sẽ trả về xâu "Java,C++,Ruby".

d)

d) Biểu thức " ".join(['Python', 'Java', 'C++', 'Ruby']) sẽ trả về xâu "Python C++ Ruby".

42.

Dựa vào các kiến thức về hàm trong Python, hãy xác định các câu sau đúng hay sai:

a)

a) Biểu thức float("3.14") sẽ trả về số thập phân 3.14.

b)

b) Biểu thức str(123) sẽ trả về xâu ký tự "123".

c)

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

d)

d) Biểu thức list("hello") sẽ trả về danh sách ['hello'].

43.

Vận dụng kiến thức đã học về một số hàm trong Python. Hãy xác định các câu sau đúng hay sai:

a)

Biểu thức abs(-5) sẽ trả về giá trị 5.

b)

Biểu thức bool(0) sẽ trả về giá trị True.

c)

Biểu thức ord('A') sẽ trả về giá trị 65.

d)

Biểu thức chr(97) sẽ trả về ký tự 'B'.

44.

Cho ví dụ sau:

a)

Tên hàm là func_tong

b)

a, b, c là các đối số

c)

Lệnh gọi hàm là func_tong(a,b,c):

d)

Các đối số của chương trình là 15, m, n

45.

Cho chương trình sau:

#luỹ thừa

def luythua(a,n):

    return a**n

a = int(input('Nhập cơ số:'))

n = int(input('Nhập số mũ:'))

print(a, 'mu', n, '=', luythua(a,n))

a)

Tên hàm là luythua

b)

Trong câu lệnh def luythua(a,n):thì a, n là các tham số

c)

Trong câu lệnh print(a, 'mu', n, '=', luythua(a,n)) thì a, n là các đối số

d)

Lời gọi hàm là def luythua(a,n):

46.

Cho chương trình sau:

# Tìm ước số chung lớn nhất (USCLN)

def uscln(a, b):

    if (b == 0):

        return a;

    return uscln(b, a % b);

a)

Trong câu lệnh def uscln(a, b): hàm uscln(a, b)có đối số là a, b

b)

Nếu ta gọi uscln(m, n): thì chương trình sẽ báo lỗi

c)

Hàm uscln(a, b) có chức năng tìm ước số chung lớn nhất của a và b

d)

Nếu ta gọi uscln(9, 12): thì chương trình sẽ thu được kết quả là 9

47.

Cho đoạn chương trình:

>>>def Ham(x,y):

z=15

   x=x*3

y=x+y

              return x+y+z

>>>x=5

 >>>y=6

    >>>Ham(x,y)

    51

    >>>z

a)

Trong đoạn chương trình

>>>def Ham(x,y):

z=15

x=x*3

y=x+y

return x+y+z Thì các biến x, y, z là các biến cục bộ của chương trình

b)

Trong đoạn chương trình >>>x=5

>>>y=6

Thì x, y là các biến ngoài hàm. Sau khi chạy hàm các biến x, y không thay đổi giá trị.

c)

Kết quả 51 không phải là kết quả của lệnh return x+y+z

d)

Khi thực hiện lệnh >>>z cho kết quả là 26

48.

Cho các lệnh sau: >>>m,n=3,5 >>>def a(m,n): m=m+n n=n*m return m+n

a)

Sau khi thực hiện lệnh a(7,10) thì giá trị của m=3 và n=5

b)

Trong hàm được khai báo hai biến m, n trùng với tên hai biến m, n được khai báo ngoài hàm

c)

Các biến m, n là các biến cục bộ của chương trình

d)

Không được phép khai báo m,n=3,5 mà phải khai báo riêng m=3 và n=5.

49.

Cho chương trình sau: #luỹ thừa def luythua(a,n): return a**n a = int(input('Nhập cơ số:')) n = int(input('Nhập số mũ:')) print(a, 'mu', n, '=', luythua(a,n))

a)

Các biến a, n là biến cục bộ

b)

Khi nhập a=2, b=3 thì kết quả chương trình in ra màn hình là 6

c)

Các biến a, n có tác dụng trong hàm def luythua(a,n)và có tác dụng trong toàn bộ các chương trình khác

d)

Nếu muốn biến bên ngoài vẫn có tác dụng bên trong hàm thì cần khai báo lại biến này bên trong hàm với từ khoá global