Font size
WorksheetsKiểm tra kiến thức Python
Total questions: 113
Worksheet time: 1hrs 12mins
Trong Python, chương trình con còn được gọi là:
Module
Lệnh lặp
Hàm
Biến toàn cục
Câu lệnh dùng để định nghĩa một hàm trong Python là:
define
func
def
function
Từ khóa nào được sử dụng để trả về giá trị trong hàm?
result
output
back
return
Trong Python, cú pháp định nghĩa hàm tinhTong nhận hai tham số a, b là:
func tinhTong(a, b):
function tinhTong(a, b):
def tinhTong(a, b):
define tinhTong(a, b):
Một hàm tự định nghĩa trong Python có thể không có:
Tên hàm
Tham số
Thân hàm
Câu lệnh return
Một hàm trong Python phải được gọi thì mới:
Khởi tạo
Chạy
Khai báo
In ra
Đoạn mã sau in ra kết quả gì? def chao(): print("Chào bạn!") chao()
Lỗi
Không có gì xảy ra
Chào bạn!
Hàm chao được định nghĩa
Một hàm có thể trả về bao nhiêu giá trị?
Một
Không trả về được
Nhiều giá trị dưới dạng tuple
Mỗi lần gọi trả về khác nhau
Điều gì xảy ra nếu hàm không có lệnh return?
Lỗi
Trả về giá trị ngẫu nhiên
Trả về None
Không thực thi được
Khi định nghĩa hàm, các tham số được đặt ở đâu?
Sau từ khóa return
Trong dấu ngoặc vuông
Trong dấu ngoặc đơn
Không cần tham số
Gọi một hàm trong Python nghĩa là:
Viết tên hàm ở cuối chương trình
Dùng tên hàm kèm theo ()
Dùng từ khóa call
Không cần làm gì
Mục tiêu chính của việc sử dụng hàm là:
Viết mã dài hơn
Gây khó hiểu
Tái sử dụng và tổ chức mã tốt hơn
Chạy nhanh hơn
Mục tiêu chính của việc sử dụng hàm là:
Viết mã dài hơn
Gây khó hiểu
Tái sử dụng và tổ chức mã tốt hơn
Chạy nhanh hơn Python thường
Viết hàm tính diện tích hình chữ nhật với chiều dài a, chiều rộng b và in kết quả. Hàm phù hợp nhất là:
def hcn(a,b): return a + b
def hcn(a,b): print(a*b)
def hcn(a,b): return a*b
def hcn(a,b): a*b
Với đoạn mã: def greet(name): print("Hello", name) greet("An") Kết quả là:
Hello
Hello An
An
Lỗi
Trong hàm def chao(name):, biến name là:
Đối số
Tham số
Biến toàn cục
Biến cục bộ
Một hàm có thể có bao nhiêu tham số?
Tối đa 2
Chỉ 1
Tùy ý
Không có tham số
Trong hàm def tinh_tong(a, b): return a + b, a và b là:
Đối số
Hằng số
Tham số
Kết quả
Trong lời gọi tinh_tong(4, 6), 4 và 6 là:
Hàm
Tham số
Đối số
Biến cục bộ
Khi định nghĩa một hàm trong Python, tham số được viết ở đâu?
Trong phần thân hàm
Sau dấu :
Trong dấu ngoặc đơn sau tên hàm
Trong câu lệnh return
Hàm def say_hello(name="bạn"): là ví dụ của:
Hàm không có tham số
Tham số mặc định
Truyền tham chiếu
Truyền tham trị
Trong đoạn def ham(x=1): return x+1, nếu gọi ham(), kết quả là:
Lỗi
0
2
Không xác định
Đối số là:
Giá trị cụ thể truyền vào hàm
Tên hàm
Câu lệnh trong thân hàm
Tên tham số
Nếu hàm def gop(a, b): return a + b được gọi bằng gop("A", "B"), kết quả là:
A + B
"AB"
"A" + "B"
Lỗi
Nếu hàm def gop(a, b): return a + b được gọi bằng gop("A", "B"), kết quả là:
A + B
"AB"
"A" + "B"
Lỗi
Trong Python, truyền tham số theo kiểu:
Truyền tham chiếu
Truyền địa chỉ
Truyền giá trị (tham trị)
Truyền bản sao chương trình
Việc truyền dữ liệu vào hàm để xử lý gọi là:
Truyền tệp
Gọi hàm
Truyền tham số/đối số
Kết nối mạng
Đoạn mã sau thực hiện chức năng gì? def cong(a, b): return a + b
Cộng hai số và in ra kết quả
Trả về tổng của hai đối số truyền vào
Nhân hai số
Không làm gì cả
Vì sao đoạn chương trình sau bị lỗi? def chao(): print("Xin chào", name) chao("Tùng")
Hàm chao() không nhận tham số nên không thể truyền đối số
Biến name chưa khai báo
Thiếu dấu :
Sai cú pháp từ khóa print
Hàm sau cho kết quả gì khi gọi tong(2)? def tong(a, b=5): return a + b
2
5
7
Lỗi vì thiếu đối số
Điều nào đúng khi nói về đối số mặc định trong Python?
Phải đứng đầu danh sách tham số
Chỉ được dùng cho kiểu chuỗi
Phải đứng cuối danh sách tham số
Không được dùng trong hàm
Khi truyền đối số vào hàm, Python thực hiện theo thứ tự nào?
Theo thứ tự ngẫu nhiên
Theo tên biến trong chương trình chính
Theo thứ tự các tham số khai báo
Theo bảng chữ cái
Điều gì xảy ra nếu gọi hàm def tru(x, y): return x - y bằng tru(5)?
Trả về 5
Trả về 0
Trả về lỗi vì thiếu đối số
Trả về x
Điều nào dưới đây là đúng khi gọi hàm có tham số mặc định?
Phải truyền đủ tất cả đối số
Có thể bỏ qua đối số có mặc định
Không thể có nhiều tham số mặc định
Mặc định chỉ dùng cho kiểu số
khi gọi hàm có tham số mặc định?
Phải truyền đủ tất cả đối số
Có thể bỏ qua đối số có mặc định
Không thể có nhiều tham số mặc định
Mặc định chỉ dùng cho kiểu số
Hàm def fx(a, b=3): return a * b cho kết quả gì với fx(4)?
12
3
4
Lỗi
Trong hàm def test(x, y=2): return x ** y, lời gọi test(3) trả về:
3
6
9
5
Hàm nào dưới đây sử dụng đúng cú pháp Python?
def (a, b): return a + b
def tong(a, b=5): return a + b
function tong(a, b) = a + b
def tong[a, b]: return a + b
Mục đích của việc sử dụng chương trình con là gì?
Tăng độ dài mã nguồn
Giảm hiệu năng
Tái sử dụng mã và tăng tính tổ chức
Bắt buộc phải dùng trong mọi chương trình
Kết quả lời gọi sau là gì? def show(x=0, y=1): return x + y print(show(2))
2
1
3
Lỗi
Kết quả đoạn chương trình sau là gì? def tinh(x, y=10): return x * y print(tinh(5))
50
15
10
Lỗi
Sửa lỗi trong đoạn mã sau để thực hiện phép cộng 2 số: def tong(x, y): return x + y print(tong(5))
Thêm đối số còn thiếu: print(tong(5, 3))
Đổi tên hàm
Sửa return thành print
Không cần sửa gì cả
Kết quả của đoạn mã sau là gì? def f(a, b=2, c=3): return a + b + c print(f(1, c=4))
7
6
8
Lỗi
Đoạn mã nào gọi hàm def binhphuong(x): return x**2 đúng cách?
print(binhphuong(3))
print(binhphuong())
print(binhphuong(x)) khi x chưa được khai báo
print(binhphuong(3, 4))
Kết quả đoạn chương trình sau? def test(x, y=2): return x ** y print(test(3, y=3))
6
27
9
Lỗi
Kết quả đoạn chương trình sau? def test(x, y=2): return x ** y print(test(3, y=3))
6
27
9
Lỗi
Cho hàm: def tinhgiatri(a, b, c=1): return a * b + c Lời gọi tinhgiatri(2, 3) trả về:
6
5
7
Lỗi
Cho đoạn mã: def chia(a, b=1): return a / b Kết quả chia(6, 3) là:
2
6
3
0
Phân tích kết quả đoạn mã: def ham(x, y): return x // y print(ham(9, 2))
4
4.5
5
Lỗi
Biến được khai báo bên trong một hàm gọi là gì?
Biến toàn cục
Biến cục bộ
Biến tĩnh
Biến toàn phần
Biến toàn cục là biến được khai báo ở đâu?
Trong câu lệnh for
Trong thân hàm
Bên ngoài tất cả các hàm
Trong biểu thức điều kiện
Biến cục bộ chỉ tồn tại trong:
Mọi nơi trong chương trình
Hàm nơi nó được khai báo
Các module khác nhau
Vòng lặp chứa nó
Phạm vi hoạt động của biến là:
Đoạn chương trình tạo ra biến đó
Toàn bộ chương trình
Nơi biến được gán giá trị
Phần chương trình mà biến được sử dụng hợp lệ
Khi gọi hàm, biến cục bộ được:
Tạo mới và hủy sau khi hàm thực thi
Tồn tại suốt chương trình
Dùng thay cho biến toàn cục
Tồn tại trên toàn bộ hệ thống
Từ khóa global trong Python dùng để:
Xóa biến toàn cục
Chuyển biến toàn cục thành cục bộ
Tạo biến cục bộ
Sử dụng biến toàn cục trong hàm
Lỗi xảy ra khi sử dụng biến cục bộ ngoài phạm vi của nó là:
TypeError
NameError
SyntaxError
ImportError
Biến toàn cục có thể được truy cập:
Chỉ trong hàm
Bất kỳ đâu trong chương trình
Chỉ trong tệp chứa biến
Chỉ trong lớp
Câu 8. Biến toàn cục có thể được truy cập:
Chỉ trong hàm
Bất kỳ đâu trong chương trình
Chỉ trong tệp chứa biến
Chỉ trong lớp
Câu 9. Khi nào biến cục bộ được tạo?
Khi chương trình bắt đầu
Khi hàm chứa nó được gọi
Khi nhập từ bàn phím
Khi khai báo bằng global
Câu 10. Câu nào đúng về biến toàn cục và biến cục bộ?
Biến cục bộ có thể ghi đè biến toàn cục
Biến toàn cục không thể bị thay đổi
Biến toàn cục luôn được ưu tiên hơn
Không thể có hai biến trùng tên trong chương trình
Câu 11. Vì sao nên hạn chế sử dụng biến toàn cục trong chương trình lớn?
Gây tốn bộ nhớ
Làm giảm hiệu suất chương trình
Dễ bị ghi đè, khó kiểm soát
Không thể thay đổi giá trị
Câu 12. Điều gì xảy ra khi một hàm có biến cùng tên với biến toàn cục?
Biến toàn cục bị thay đổi
Gây lỗi khi chạy
Biến cục bộ sẽ được dùng trong hàm
Biến toàn cục bị xóa
Câu 13. Muốn thay đổi giá trị biến toàn cục trong hàm, phải làm gì?
Khai báo lại biến
Dùng từ khóa global
Dùng hàm update()
Không thể thực hiện
Câu 14. Điều gì xảy ra nếu không khai báo global khi sửa giá trị biến toàn cục trong hàm?
Biến toàn cục bị ghi đè
Biến mới được tạo trong hàm
Chương trình chạy bình thường
Lỗi truy cập vùng nhớ
Câu 15. Tại sao biến cục bộ không thể dùng bên ngoài hàm?
Không đủ quyền
Biến chưa được khởi tạo
Biến bị hủy sau khi hàm kết thúc
Python không hỗ trợ
Câu 16. Tác dụng chính của việc sử dụng biến cục bộ là:
Tăng tốc độ xử lý
Dễ dàng chia sẻ dữ liệu
Tránh xung đột tên biến
Tiết kiệm RAM
Câu 17. Đoạn chương trình nào minh họa đúng việc sử dụng global?
Không đúng
Biến x chỉ thay đổi trong hàm
Biến x sẽ t
Câu 17. Đoạn chương trình nào minh họa đúng việc sử dụng global?
Không đúng
Biến x chỉ thay đổi trong hàm
Biến x sẽ thay đổi toàn cục
Gây lỗi biên dịch
Câu 18. Việc khai báo lại biến toàn cục trong hàm mà không dùng global sẽ:
Thay đổi biến toàn cục
Gây lỗi
Tạo một biến cục bộ mới
Không ảnh hưởng gì
Câu 19. Biến toàn cục phù hợp để lưu trữ:
Kết quả tạm thời
Giá trị dùng lại nhiều lần ở nhiều hàm
Tham số truyền vào hàm
Giá trị đầu vào
Câu 20. Lợi ích của việc hiểu rõ phạm vi biến là:
Giảm độ dài chương trình
Hạn chế lỗi và dễ bảo trì
Viết chương trình ngắn hơn
Tránh khai báo biến
Câu 21. Cho đoạn code sau, kết quả là gì?
3
7
Lỗi
Không in gì
Câu 22. Cho đoạn code sau, kết quả là gì?
7
3
Lỗi
Không in gì
Câu 23. Cho đoạn code sau, khi chạy sẽ:
Lỗi vì y khai báo sau
In ra 10
Lỗi biến chưa được dùng
In ra None
Câu 24. Cho đoạn code sau, biến z có phạm vi:
Toàn cục
Trong toàn bộ chương trình
Trong hàm func()
Trong lớp chứa hàm
Câu 25. Muốn truyền giá trị biến toàn cục cho nhiều hàm nhưng không bị ghi đè, ta nên:
Dùng global trong tất cả hàm
Truyền tham số vào hàm
Không khai báo biến toàn cục
Ghi đè tên biến
Câu 26. Cho biết kết quả đoạn mã sau:
In ra 4
Lỗi NameError
In ra None
In ra 0
Câu 27. Lý do nên sử dụng biến cục bộ trong hàm thay vì biến toàn cục là:
Dễ bị xóa hơn
Giúp tiết kiệm biế
f test(): a = 4 print(a) Đáp án: B
In ra 4
Lỗi NameError
In ra None
In ra 0
Câu 27. Lý do nên sử dụng biến cục bộ trong hàm thay vì biến toàn cục là:
Dễ bị xóa hơn
Giúp tiết kiệm biến
Tránh tác động ngoài ý muốn
Ít bị sử dụng
Câu 28. Việc thay đổi biến toàn cục trong nhiều hàm có thể gây:
Tăng tốc độ chương trình
Lỗi biến không xác định
Kết quả không như mong muốn nếu không kiểm soát
Chương trình ngắn hơn
Câu 29. Cho đoạn mã sau, kết quả là gì? x = 5 def update(): x += 2 update() print(x) Đáp án: B
7
Lỗi
5
Không in gì
Câu 30. Giải pháp nào hợp lý khi cần dùng chung biến giữa các hàm nhưng vẫn đảm bảo tính an toàn dữ liệu?
Dùng toàn bộ biến toàn cục
Dùng biến cục bộ với từ khóa nonlocal
Dùng biến cục bộ và truyền qua đối số hàm
Khai báo tất cả biến ở đầu chương trình
Câu 1. Trong các loại lỗi sau, lỗi nào là lỗi cú pháp?
Chia một số cho 0
Quên dấu : sau lệnh if
Gọi hàm chưa định nghĩa
Gán sai kiểu dữ liệu
Câu 2. Khi chương trình đang chạy và xảy ra lỗi chia cho 0, lỗi đó được gọi là:
Lỗi cú pháp
Lỗi biên dịch
Lỗi logic
Lỗi ngoại lệ (runtime error)
Câu 3. Lỗi nào sau đây thuộc nhóm lỗi logic?
Viết sai tên biến
Thiếu dấu đóng ngoặc
Kết quả tính tổng bị sai vì dùng phép trừ
Nhập sai kiểu dữ liệu
Câu 4. Lỗi xảy ra do vi phạm quy tắc viết mã nguồn Python là lỗi gì?
Lỗi logic
Lỗi ngoại lệ
Lỗi cú pháp
Lỗi hệ thống
Câu 5. Trong các lỗi sau, lỗi nào là lỗi ngoại lệ thường gặp?
Dùng biến chưa khai báo
Không có dấu : trong lệnh điều kiện
Nhập chữ vào lệnh int(input())
Dùng hàm không có trong Python
Ngoại lệ thường gặp?
Dùng biến chưa khai báo
Không có dấu : trong lệnh điều kiện
Nhập chữ vào lệnh int(input())
Dùng hàm không có trong Python
Khi chạy đoạn mã sau: x = int(input("Nhập số: ")) print(10 / x) Nếu người dùng nhập 0, chương trình sẽ:
Cho kết quả là 0
Gây lỗi ngoại lệ chia cho 0
In ra giá trị không xác định
Không có lỗi gì xảy ra
Đoạn mã sau mắc lỗi gì? x = input("Nhập số: ") print(x * 2) Giả sử nhập 5 vào bàn phím.
Lỗi cú pháp
Lỗi logic (kết quả không như mong đợi)
Lỗi chia cho 0
Không lỗi gì cả
Khi nào lỗi ngoại lệ ValueError thường xảy ra?
Khi gọi hàm chưa định nghĩa
Khi nhập sai kiểu dữ liệu vào int()
Khi thiếu dấu :
Khi dùng sai tên biến
Đâu là cách tốt nhất để xử lý lỗi ngoại lệ trong Python?
Bỏ qua lỗi và tiếp tục chạy
Dùng lệnh if kiểm tra lỗi
Dùng cấu trúc try...except
Khởi động lại chương trình
Cho đoạn mã sau: def chia(a, b): return a / b print(chia(5, 0)) Chương trình trên sẽ gặp lỗi gì?
Không lỗi, kết quả là 0
Lỗi cú pháp do thiếu return
Lỗi logic
Lỗi ngoại lệ do chia cho 0
Trong quá trình học về hàm trong Python, một học sinh đưa ra các nhận định: a) Hàm là một dạng chương trình con dùng để thực hiện một công việc cụ thể. (Nhận biết) b) Trong Python, không thể định nghĩa hàm do Python không hỗ trợ chương trình con. (Nhận biết) c) Câu lệnh def dùng để bắt đầu định nghĩa một hàm. (Thông hiểu) d) Một chương trình Python không thể hoạt động nếu không có hàm. (Thông hiểu)
Đúng
Sai
Đúng
Sai
Một chương trình Python không thể hoạt động nếu không có hàm.
Đúng
Sai
Đúng
Sai
Khi tìm hiểu về cách tạo và sử dụng hàm trong Python, học sinh nhận xét như sau:
Cú pháp định nghĩa hàm gồm từ khóa def, tên hàm và dấu ngoặc tròn.
Sau khi định nghĩa hàm, Python sẽ thực hiện ngay nội dung trong hàm đó.
Lệnh return có thể được sử dụng để trả về kết quả từ một hàm.
Hàm chỉ có thể được định nghĩa ở đầu chương trình.
Một nhóm học sinh thảo luận về các quy tắc khi tạo hàm:
Tên hàm nên được đặt sao cho dễ hiểu và liên quan đến chức năng của nó.
Tên hàm có thể trùng với từ khóa trong Python.
Một hàm có thể không có tham số và cũng không có giá trị trả về.
Trong Python, hàm không thể được gọi trong chính thân hàm đó.
Một học sinh đưa ra các nhận định về tham số trong hàm:
Tham số là các biến được khai báo trong phần định nghĩa hàm.
Một hàm có thể có nhiều tham số, ngăn cách nhau bằng dấu chấm phẩy.
Tham số có thể được sử dụng như biến cục bộ trong thân hàm.
Trong Python, mọi hàm đều bắt buộc phải có ít nhất một tham số.
Khi học về đối số và cách truyền giá trị cho tham số, học sinh nêu ý kiến:
Đối số là giá trị cụ thể được truyền vào khi gọi hàm.
Số lượng đối số truyền vào khi gọi hàm phải bằng số lượng tham số trừ khi có tham số mặc định.
Khi gọi hàm, đối số được gán cho tham số theo thứ tự định nghĩa.
Có thể truyền đối số mà không cần quan tâm thứ tự nếu không sử dụng từ khóa.
Một học sinh viết chương trình có sử dụng chương trình con như sau và đưa ra các kết luận: def tinh_hieu(a, b): return a - b print(tinh_hieu(10, 3))
Chương trình trên có sử dụng chương trình con là hàm tinh_hieu.
a và b trong định nghĩa hàm là đối số.
Gọi tinh_hieu(10, 3) sẽ trả về giá trị 7.
Hàm tinh_hieu không thể dùng lại với các giá trị khác.
Một học sinh đưa ra các nhận định về biến trong chương trình Python:
Biến khai báo trong hàm chỉ có thể được sử dụng trong phạm vi của hàm đó.
Biến khai báo trong hàm có thể sử dụng ở bất kỳ vị trí nào trong chương trình.
Biến khai báo ngoài hàm được gọi là biến toàn cục.
Biến toàn cục có thể bị thay đổi giá trị từ trong hàm nếu không khai báo global.
Khi tìm hiểu về phạm vi hoạt động của biến, học sinh thảo luận như sau:
Trong Python, biến được khai báo trong hàm là biến cục bộ.
Nếu khai báo biến x = 5 bên ngoài hàm, thì x có thể được truy cập trong hàm nếu không có biến x cục bộ khác.
Phạm vi của biến xác định nơi trong chương trình mà biến có thể được truy cập.
Biến toàn cục luôn có ưu tiên hơn biến cục bộ cùng tên trong hàm.
Xem đoạn chương trình sau và cho biết các nhận định: x = 10 def func(): x = 5 print(x) func() print(x)
Xem đoạn chương trình sau và cho biết các nhận định: x = 10 def func(): x = 5 print(x) func() print(x)
Khi chạy chương trình, kết quả in ra là: 5 rồi 10. (Vận dụng)
Biến x trong hàm là biến toàn cục. (Thông hiểu)
Biến x = 5 trong hàm không ảnh hưởng đến biến x = 10 ngoài hàm. (Vận dụng)
Biến x trong và ngoài hàm đều nằm trong cùng một phạm vi. (Thông hiểu)
Khi học về lỗi chương trình, một học sinh đưa ra các nhận định sau:
Lỗi cú pháp xảy ra khi người lập trình viết sai quy tắc ngôn ngữ. (Nhận biết)
Lỗi cú pháp thường được phát hiện khi chương trình đang chạy. (Thông hiểu)
Lỗi logic là lỗi làm cho chương trình chạy đúng nhưng kết quả sai. (Thông hiểu)
Lỗi ngoại lệ luôn do người dùng nhập sai dữ liệu. (Vận dụng)
Một học sinh chia sẻ kinh nghiệm xử lý lỗi:
Lỗi ngoại lệ có thể xử lý bằng cách sử dụng khối try - except. (Nhận biết)
Mọi lỗi trong chương trình đều có thể sửa được bằng khối try - except. (Thông hiểu)
Nếu chương trình chạy nhưng cho ra kết quả sai, thì đó chắc chắn là lỗi cú pháp. (Thông hiểu)
Lỗi logic thường khó phát hiện hơn lỗi cú pháp hoặc lỗi ngoại lệ. (Vận dụng)
Một số phát biểu về lỗi chương trình được học sinh đưa ra như sau:
Chương trình không thể thực hiện nếu có lỗi cú pháp. (Nhận biết)
Lỗi chia cho 0 là một ví dụ của lỗi ngoại lệ trong Python. (Nhận biết)
Lỗi ngoại lệ luôn xuất hiện trong quá trình viết mã, không phải khi chạy. (Thông hiểu)
Lỗi logic dễ phát hiện hơn lỗi cú pháp vì trình thông dịch sẽ báo ngay. (Thông hiểu)
Viết hàm la_so_chan(n) kiểm tra số chẵn hay số lẻ. Gọi hàm với n =3 và in ra thông báo tương ứng.
Viết hàm tinh_giai_thua(n) tính giai thừa của n = 5 và in ra kết quả.
Viết hàm kiem_tra_so_nguyen_duong(n) để kiểm tra một số nguyên n có phải là số nguyên dương hay không. Gọi hàm với n = -3 và in ra kết quả kiểm tra.
Viết hàm kiem_tra_tam_giac(a, b, c) nhận vào 3 số thực là độ dài 3 cạnh, kiểm tra xem 3 cạnh đó có tạo thành một tam giác hay không. Gọi hàm với a = 3, b = 4, c = 5 và in ra kết quả.
Viết hàm tong_chia_het_cho_3(n) để tính tổng các số từ 1 đến n chia hết cho 3. Gọi hàm với n = 20 và in ra kết quả.
