Bài 26 Hàm trong Python
Lớp 10Tin Học13 câu hỏiBài tập
Phần 1
Câu 1
(Câu 26.1 trang 53 SBT Tin học 10) Trong ngôn ngữ lập trình Python, hàm có phải thủ tục hay không? Mệnh đề nào dưới đây mô tả đúng quan hệ giữa hàm và thủ tục?
ATrong Python, hàm và thủ tục là hai khái niệm đồng nhất.
BHàm và thủ tục là hai khái niệm hoàn toàn khác nhau.
CHàm là thủ tục nhưng thủ tục có thể không phải là hàm.
DThủ tục là hàm nhưng hàm có thể không là thủ tục.
Câu 2
(Câu 26.2 trang 54 SBT Tin học 10) Trong định nghĩa của hàm có thể có bao nhiêu từ khoá return?
AKhông hạn chế.
B1.
C2.
D5.
Câu 3
(Câu 26.6 trang 54 SBT Tin học 10) Mệnh đề nào dưới đây mô tả đúng về hàm tự định nghĩa không trả lại giá trị?
ATrong mô tả hàm hoặc không có return hoặc có return nhưng không có giá trị sau từ khoá return.
BTrong mô tả hàm không có từ khoá return.
CTrong mô tả hàm chỉ có một từ khoá return.
DTrong mô tả hàm phải có tối thiểu hai từ khoá return.
Câu 4
(Câu 26.7 trang 54 SBT Tin học 10) Cho hàm Python sau:
def h(x, y):
if x > y:
return x
else:
return x + y
Hàm trên có ý nghĩa gì?
def h(x, y):
if x > y:
return x
else:
return x + y
Hàm trên có ý nghĩa gì?
AHàm trả lại x nếu x lớn hơn y, ngược lại trả lại tổng x + y.
BHàm luôn trả lại giá trị x + y.
CHàm luôn trả lại giá trị lớn hơn trong hai số x và y.
DHàm trả lại y nếu x lớn hơn y, ngược lại trả lại x.
Câu 5
(Câu 26.8 trang 54 SBT Tin học 10) Cho hàm Python sau:
def msg(s):
return s[::-1]
Hàm trên có ý nghĩa gì?
def msg(s):
return s[::-1]
Hàm trên có ý nghĩa gì?
AHàm trả về xâu hoặc danh sách đảo ngược của s.
BHàm trả về độ dài của xâu s.
CHàm trả về kí tự đầu tiên của xâu s.
DHàm trả về xâu s sau khi xoá kí tự cuối cùng.
Câu 6
(Câu 26.10 trang 54 SBT Tin học 10) Cho hàm Python sau:
def func(n):
c = 0
for k in range(2, n):
if n%k == 0:
c = c + 1
return c
Hàm trên thực hiện công việc gì?
def func(n):
c = 0
for k in range(2, n):
if n%k == 0:
c = c + 1
return c
Hàm trên thực hiện công việc gì?
AHàm trả lại số các ước số thực sự của n, không tính 1.
BHàm trả lại tổng các ước số thực sự của n, tính cả 1.
CHàm trả lại số các số nguyên từ 2 đến n.
DHàm trả lại tổng các số nguyên từ 2 đến n.
Câu 7
(Câu 26.11 trang 54 SBT Tin học 10) Cho hàm Python sau:
def func(n):
c = 0
for k in range(1, n):
if n%k == 0:
c = c + k
return c
Hàm trên thực hiện công việc gì?
def func(n):
c = 0
for k in range(1, n):
if n%k == 0:
c = c + k
return c
Hàm trên thực hiện công việc gì?
AHàm trả lại tổng các ước số thực sự của n, tính cả 1.
BHàm trả lại số các ước số thực sự của n, không tính 1.
CHàm trả lại tích các ước số thực sự của n.
DHàm trả lại tổng các số từ 1 đến n.
Phần 2
Câu 1
(Câu 26.3 trang 54 SBT Tin học 10) Trong Python có thể tự tạo hàm trùng tên với một hàm có sẵn hay không? Nhận định nào sau đây đúng hoặc sai?
a)Trong Python, người lập trình có thể tự định nghĩa hàm trùng tên với một hàm có sẵn.
b)Khi định nghĩa hàm trùng tên với hàm có sẵn, tên mới có thể che khuất tên hàm có sẵn trong phạm vi sử dụng.
c)Việc đặt tên hàm trùng với hàm có sẵn thường không nên làm vì dễ gây nhầm lẫn.
d)Python tuyệt đối không cho phép người lập trình định nghĩa hàm trùng tên với bất kì hàm có sẵn nào.
Câu 2
(Câu 26.4 trang 54 SBT Tin học 10) Trong Python có thể định nghĩa hàm với tên trùng với từ khoá hay không? Nhận định nào sau đây đúng hoặc sai?
a)Trong Python, không thể định nghĩa hàm với tên trùng với từ khoá.
b)Từ khoá là các từ đã có ý nghĩa riêng trong ngôn ngữ lập trình Python.
c)Nếu dùng từ khoá làm tên hàm, chương trình có thể báo lỗi cú pháp.
d)Có thể dùng các từ khoá như if, for, while làm tên hàm mà không gây lỗi.
Câu 3
(Câu 26.5 trang 54 SBT Tin học 10) Trong Python, lệnh print() có phải là hàm không? Nhận định nào sau đây đúng hoặc sai?
a)print() là một hàm trong Python.
b)Hàm print() dùng để đưa dữ liệu ra màn hình.
c)print() là hàm không trả lại giá trị có ý nghĩa cho người dùng.
d)print() là một biến số nguyên trong Python, không phải là hàm.
Câu 4
(Câu 26.9 trang 54 SBT Tin học 10) Viết hàm nhập số nguyên n từ bàn phím. Hàm sẽ trả lại số đã nhập. Nhận định nào sau đây đúng hoặc sai?
a)Có thể định nghĩa hàm bằng dòng lệnh def NhapDL():.
b)Trong thân hàm, có thể dùng n = int(input("Nhập số nguyên n: ")) để nhập số nguyên.
c)Để hàm trả lại số đã nhập, có thể dùng lệnh return n.
d)Nếu muốn hàm trả lại số đã nhập thì bắt buộc phải dùng print(n), không được dùng return n.
Câu 5
(Câu 26.12 trang 54 SBT Tin học 10) Viết hàm Number(A), trong đó tham số của hàm là dãy các số nguyên A. Hàm trả lại hai số p, q với p là số các số chẵn của dãy A, q là số các số lẻ của dãy A. Nhận định nào sau đây đúng hoặc sai?
a)Có thể khởi tạo p = 0 và q = 0 trước khi duyệt dãy A.
b)Có thể dùng vòng lặp for n in A để xét từng phần tử của dãy A.
c)Nếu n%2 == 0 thì n là số chẵn và có thể tăng p thêm 1.
d)Nếu n%2 == 0 thì n là số lẻ và cần tăng q thêm 1.
Câu 6
(Câu 26.12 trang 54 SBT Tin học 10) Về cách hoàn thiện hàm Number(A), nhận định nào sau đây đúng hoặc sai?
a)Nếu n không phải là số chẵn thì có thể tăng q thêm 1 để đếm số lẻ.
b)Sau khi duyệt hết dãy A, hàm có thể trả lại hai giá trị bằng lệnh return p, q.
c)Hàm Number(A) có thể trả lại đồng thời số lượng số chẵn và số lượng số lẻ trong dãy.
d)Hàm Number(A) chỉ có thể trả lại một giá trị duy nhất nên không thể trả lại cả p và q.