I. TRẮC NGHIỆM
1. Phép toán chia lấy phần nguyên là:
(A) div
(B) mod
(C) //
(D) %
2. Chọn đáp án ĐÚNG về cú pháp của cấu trúc rẽ nhánh dạng đủ là:
(A) if <điều kiện> : <câu lệnh 1> else: <câu lệnh 2>
(B) if <điều kiện> : <câu lệnh 1>
else: <câu lệnh 2>
(C) IF <điều kiện> : <câu lệnh 1> ELSE: <câu lệnh 2>
(D) IF <điều kiện> : <câu lệnh 1>
ELSE: <câu lệnh 2>
3. Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?
(A) Ngày tắm hai lần.
(B) Học bài cho tới khi thuộc bài.
(C) Mỗi tuần đi nhà sách một lần.
(D) Ngày đánh răng hai lần.
4. Cấu trúc lặp với số lần chưa biết trước có dạng như thế nào?
(A) while <điều kiện>:
<khối lệnh >
(B) while <điều kiện>
<khối lệnh >
(C) while <điều kiện>:
(D) while <điều kiện> to <khối lệnh>
5. Chọn khẳng định ĐÚNG khi nói về chức năng của lệnh input ()
(A) Nhập dữ liệu từ thiết bị vào chuẩn
(B) Nhập dữ liệu cả số và mảng
(C) Nhập dữ liệu thông qua một biết trong gian
(D) Nhập dữ liệu thông qua một hàm bất kì
6. Biến chạy trong vòng lặp for i in range(<giá trị cuối>) tăng lên mấy đơn vị sau mỗi lần lặp?
(A) 1
(B) 2
(C) 0
(D) Tất cả đều sai
7. Toán tử nào dùng để kiểm tra một giá trị có nằm trong danh sách không?
(A) in
(B) int
(C) range
(D) append
8.Lệnh nào sau đây xoá toàn bộ danh sách?
(A) exit()
(B) remove()
(C) clear()
(D) del()
9. Lệnh nào để duyệt từng phần tử của danh sách?
(A) for.
(B) while – for.
(C) while kết hợp với lệnh range().
(D) for kết hợp với lệnh range().
10. Để khai báo một danh sách rỗng ta dùng cú pháp sau:
(A) <tên danh sách> ==[]
(B) <tên danh sách> = 0
(C) <tên danh sách> = []
(D) <tên danh sách > = [0]
11. Đâu là quy tắc đúng khi đặt tên cho biến trong Python?
(A) Tên biến có thể bắt đầu bằng dấu gạch dưới " _ ".
(B) Có thể sử dụng keyword làm tên biến.
(C) Tên biến có thể bắt đầu bằng một chữ số.
(D) Tên biến có thể có các ký hiệu như !, @, #, $, %,...
12. Trong Python, câu lệnh nào dùng để tính độ dài của xâu s?
(A) length(s)
(B) len(s)
(C) s.len()
(D) s.length()
13. Lệnh nào sau đây dùng để tách xâu:
(A) copy()
(B) remove()
(C) join()
(D) split()
14. Chương trình sau in ra màn hình kết quả nào?
a = 87
b = a%10 + a//10
print(b)
(A) 87
(B) 78
(C) 15
(D) 51
15. Cho đoạn lệnh sau:
x=20
if x%2==0:
x=x+10
else:
x=x-10
Sau khi thực hiện đoạn chương trình x nhận giá trị bao nhiêu?
(A) 10
(B) 20
(C) 30
(D) 40
16. Câu lệnh sau cho kết quả là gì?
for i in range(6):
print(i,end=" ")
(A) 1 2 3 4 5
(B) 0123456
(C) 0 1 2 3 4 5
(D) 12345
17. Kết quả của đoạn chương trình dưới đây là:
i=1
while (i <= 4) :
print(i)
i = i + 3
(A) 12
(B) 13
(C) 14
(D) Chương trình báo lỗi
18. 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.
19. 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].
20. Kết quả của các câu lệnh sau là gì?
>>> s="Ngôn ngữ lập trình Python"
>>> print(s.split())
(A) 'Ngôn ngữ lập trình Python'
(B) 'Ngôn', 'ngữ', 'lập', 'trình', 'Python'
(C) [Ngôn, ngữ, lập, trình, Python]
(D) ['Ngôn', 'ngữ', 'lập', 'trình', 'Python']
21. Kết quả của chương trình sau là bao nhiêu?
>>> s = "abcdefg"
>>> print(s[2])
(A) c
(B) b
(C) a
(D) d
22. Kết quả của các câu lệnh sau là gì?
>>> s="abcdabcd"
>>> print(s.find("ab"))
>>> print(s.find("ab",4))
(A) 2, 6
(B) 1, 3
(C) 0, 4
(D) 1, 4
23. Phát biểu nào chính xác khi nói về Hàm trong Python?
(A) Hàm có thể được tái sử dụng trong chương trình
(B) Sử dụng hàm không có tác động tích cực gì đến các module trong chương trình
(C) Không thể tự tạo các hàm của riêng người viết chương trình
(D) Hàm chỉ được sử dụng một lần trong chương trình
24. Trong các khẳng định sau, khẳng định nào KHÔNG là lợi thế của việc sử dụng hàm trong Python?
(A) Phân tách các vấn đề phức tạp thành các phần đơn giản hơn
(B) Code dài dòng, chỉ thực hiện được ở những chương trình đơn giản
(C) Phân tách các vấn đề phức tạp thành các phần đơn giản hơn
(D) Tránh việc phải lặp lại code thực thi những tác vụ tương tự nhau
25. Cú pháp câu lệnh gọi hàm trong Python có dạng chung nào sau đây?
(A) <tên hàm>:(<danh sách tham số>)
(B) <tên hàm>.(<danh sách tham số>)
(C) <tên hàm>(<danh sách tham số>)
(D) <tên hàm>=(<danh sách tham số>)
26. 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.
27. 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
28. Kết quả của chương trình sau là:
def Kieu(Number):
return type(Number)
print(Kieu (5.0))
(A) 5
(B) Chương trình bị lỗi.
(C) float
(D) int
29. Chương trình sau hiển thị kết quả như thế nào?
def ham():
print(country)
ham("Sweden")
ham("India")
ham("Brazil")
(A) Sweden, India, Brazil.
(B) Sweden, Brazil, India.
(C) Sweden, Brazil.
(D) Chương trình bị lỗi.
30. 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ế
31. Cú pháp thiết lập hàm có trả lại giá trị là gì?
(A) def <tên hàm>([tham số]):
return <dãy giá trị trả về>
(B) def <tên hàm> ([tham số]):
<dãy các lệnh>
(C) def <tên hàm >([tham số]):
<khối lệnh>
return <dãy giá trị trả về >
(D) def <tên hàm >: [< khối lệnh >]
return <dãy giá trị trả về>
32. Cho các câu sau, số câu đúng là:
1) Sử dụng chương trình con sẽ làm chương trình dễ hiểu, dễ tìm lỗi hơn.
2) Hàm chỉ được gọi một lần duy nhất ở chương trình chính.
3) Hàm luôn trả một giá trị qua tên của hàm.
4) Python chỉ cho phép chương trình gọi một hàm xây dựng sẵn trong các thư viện của Python.
5) Khai báo hàm trong Python luôn có danh sách tham số.
(A) 1
(B) 2
(C) 3
(D) 4
33. Phát biểu nào sau đây là sai?
(A) Tên hàm do người lập trình đặt không cần theo quy tắc.
(B) Chương trình con là một đoạn câu lệnh thực hiện một việc nào đó được đặt tên.
(C) Muốn xây dựng hàm trả về giá trị xử lí, cần kết thúc hàm bằng câu lệnh return cùng với biểu thức hay biến chứa giá trị trả về.
(D) Các lệnh mô tả hàm phải viết lùi vào theo quy định của Python.
34. Từ khóa dùng để khai báo hàm trong Python là?
(A) procedurer
(B) return
(C) def
(D) function
35. Cho đoạn chương trình sau:
s='abcde'
print(s[1:4])
Trên màn hình máy tính sẽ xuất hiện xâu:
(A) abc
(B) bcde
(C) bcd
(D) cde
36. Xâu rỗng là xâu có độ dài bằng:
(A) 0
(B) 1
(C) 2
(D) 3
37. 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
38. Hàm func(m, n) được định nghĩa như sau:
def func(m,n):
return 3*m+n
print(func(1,10))
(A) 110
(B) 11
(C) 13
(D) 31
39. Kết quả của các câu lệnh sau là gì?
def PhepCong(so):
return so+5
print(PhepCong(6))
(A) 5
(B) 6
(C) 11
(D) 12
40. 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.
Làm lại
II. TỰ LUẬN
Câu 1. Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh xác định và in ra danh sách, số các phần tử lớn hơn 0 của A
GỢI Ý TRẢ LỜI:
A=[5,7,8,-4,-6,10,-5,-11]
count=0;
print("Danh sách A >0 gồm:")
for i in A:
if i>0:
print(i,end=" ")
count=count+1;
print()
print("Số các phần tử lớn >0 của danh sách A: ",count)
Câu 2. Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh xác định và in ra danh sách, số các phần tử là số lẻ của A
GỢI Ý TRẢ LỜI:
A=[5,7,8,-4,-6,10,-5,-11]
count=0;
print("Danh sách số lẻ của A gồm:")
for i in A:
if i %2!=0:
print(i,end=" ")
count=count+1;
print()
print("Số các phần tử lẻ của danh sách A: ",count)
Câu 3. Nhập vào một xâu kí tự bất kì gồm chữ và số. In ra màn hình các kí tự là số có trong xâu trên một dòng. Đếm xem trong xâu vừa nhập có bao nhiêu số.
GỢI Ý TRẢ LỜI:
s=input("Nhập xâu bất kì gồm chữ và số: ")
count=0
print("Danh sách kí tự số trong xâu gồm: ")
for ch in s:
if "0"<=ch<="9":
print(ch,end="")
count=count+1
print()
print("Số kí tự số trong xâu vừa nhập là:",count)
Câu 4. Nhập vào xâu S1, hãy đếm số kí tự là chữ cái tiếng Anh (kể cả chữ in thường hay in hoa)?
GỢI Ý TRẢ LỜI:
s=input("Nhập xâu bất kì gồm chữ và số: ")
count=0
print("Danh sách kí tự tiếng Anh trong xâu gồm: ")
for ch in s:
if "A"<=ch<="Z" or "a"<=ch<="z":
print(ch,end="")
count=count+1
print()
print("Số kí tự tiếng Anh trong xâu vừa nhập là:",count)
Câu 5. Viết hàm tình điểm TBM cả năm của môn Toán khi nhập dữ liệu từ bàn phím điểm HKI (hệ số 1)và HKII (hệ số 2). Sau đó, thông báo điểm TBMcn làm tròn 1 chữ số thập phân
GỢI Ý TRẢ LỜI:
Cách 1:
def TBMcn(HKI,HKII):
TBMcn=(HKI+HKII*2)/3
return TBMcn
HKI=float(input("Nhập điểm HKI: "))
HKII=float(input("Nhập điểm HKII: "))
print("Điểm TBMcn Toán:",round(TBMcn(HKI,HKII),1))
Cách 2:
def TBMcn(HKI,HKII):
return (HKI+HKII*2)/3
HKI=float(input("Nhập điểm HKI: "))
HKII=float(input("Nhập điểm HKII: "))
print("Điểm TBMcn Toán:",round(TBMcn(HKI,HKII),1))
Cách 3:
def TBMcn(HKI,HKII):
TBM=(HKI+HKII*2)/3
return TBM
a=float(input("Nhập điểm HKI: "))
b=float(input("Nhập điểm HKII: "))
print("Điểm TBMcn Toán:",round(TBMcn(a,b),1))