Tin học 10 Kết nối tri thức Bài 26: Hàm trong Python
1. Một số hàm thiết kế sẵn
Bảng 26.1. Một số lệnh trong Python
abs() |
list() |
str() |
Các lệnh trong Bảng 26.1:
+ Đều có dấu đóng mở ngoặc đi sau tên lệnh.
+ Bên trong dấu ngoặc là các tham số, có thể là các đại lượng, các biến hoặc biểu thức.
Ví dụ một số lệnh trong Python:>>> abs(-5) (Trị tuyệt đối)
5
>>> ord("A") (Trả lại vị trí tương ứng trong bảng mã ASCII)
<tên hàm>( <danh sách tham số hàm>)
- Hàm trong Python được phân làm hai loại:
+ Hàm có giá trị trả lại: input(), int(), divmod(),...
? Củng cố: Mô tả tham số và giá trị trả lại của mỗi hàm sau: float(), str(), len(), list()
Gợi ý trả lời SGK Tin học 10 kntt trang 126
2. Thiết lập các hàm tự định nghĩa
+ Hàm trong Python được định nghĩa bằng từ khóa def, theo sau là tên hàm (tên hàm sẽ theo quy tắc đặt tên địa danh).
+ Hàm có thể có hoặc không có tham số. Khối lệnh mô tả hàm được viết sau
dấu ":" và viết lùi vào, thẳng hàng.
+ Hàm có thể có hoặc không có giá trị trả lại sau từ khóa return.
- Cú pháp thiết lập hàm có trả lại giá trị:
Ví dụ: Xây dựng hàm tính tổng và tích 2 số nguyên a,b có trả lại giá trị
Cách 1.
def Tong(a,b): return a+b def Tich(a,b): return a*b a=int(input("Nhập số nguyên a: ")) b=int(input("Nhập số nguyên b: ")) print(a,"+",b,"=",Tong(a,b)) print(a,"x",b,"=",Tich(a,b))
Cách 2.
def Tong(a,b): T=a+b return T def Tich(a,b): Tich=a*b return Tich a=int(input("Nhập số nguyên a: ")) b=int(input("Nhập số nguyên b: ")) print(a,"+",b,"=",Tong(a,b)) print(a,"x",b,"=",Tich(a,b))
Cách 3.
def Tong(a,b): T=a+b return T def Tich(a,b): Ti=a*b return Ti x=int(input("Nhập số nguyên a: ")) y=int(input("Nhập số nguyên b: ")) print(x,"+",y,"=",Tong(x,y)) print(x,"x",y,"=",Tich(x,y))
Cách 4.
def Tong(): T=a+b return T def Tich(): Ti=a*b return Ti a=int(input("Nhập số nguyên a: ")) b=int(input("Nhập số nguyên b: ")) print(a,"+",b,"=",Tong()) print(a,"x",b,"=",Tich())
- Cú pháp thiết lập hàm không trả lại giá trị:
Ví dụ: Xây dựng hàm tính tổng và tích 2 số nguyên a,b không trả lại giá trị
Cách 1.
def Tong(a,b): print(a,"+",b,"=",a+b) def tich(a,b): print(a,"x",b,"=",a*b) a=int(input("Nhập số nguyên a: ")) b=int(input("Nhập số nguyên b: ")) Tong(a,b) tich(a,b)
Cách 2.
def Tong(a,b): T=a+b print(a,"+",b,"=",T) def tich(a,b): Ti=a*b print(a,"x",b,"=",Ti) a=int(input("Nhập số nguyên a: ")) b=int(input("Nhập số nguyên b: ")) Tong(a,b) tich(a,b)
Cách 3.
def Tong(a,b): T=a+b print(a,"+",b,"=",T) def tich(a,b): Ti=a*b print(a,"x",b,"=",Ti) x=int(input("Nhập số nguyên a: ")) y=int(input("Nhập số nguyên b: ")) Tong(x,y) tich(x,y)
Cách 4.
def Tong():
T=a+b
print(a,"+",b,"=",T)
def tich():
Ti=a*b
print(a,"x",b,"=",Ti)
a=int(input("Nhập số nguyên a: "))
b=int(input("Nhập số nguyên b: "))
Tong()
tich()
?Quan sát các hàm sau, giải thích cách thiết lập và chức năng của mỗi hàm:
Gợi ý giải bài tập SGK Tin học 10 trang 129 KNTT
Thực Hành
Thiết lập hàm trong Python.
Nhiệm vụ 1. Viết hàm yêu cầu người dùng nhập họ tên rồi đưa lời chào ra màn hình.
Nhiệm vụ 2. Viết hàm prime() với tham số là số tự nhiên n và trả lại True nếu n là số nguyên tố, trả lại False nếu n không phải là số nguyên tố.
Hướng dẫn: Số nguyên tố là số tự nhiên lớn hơn 1, không có ước nào ngoài 1 và chính nó. Để thiết lập hàm prime(n) chúng ta cần tính số ước thực sự của n (từ 1 đến n – 1). Biến C dùng để đếm các số ước thực sự của n. Khi đó, n sẽ là số nguyên tố khi và chỉ khi C =1.
Hàm prime(n) và chương tình có thể được thiết lập như sau:
Luyện tập
Gợi ý: Sử dụng hàm prime() trong phần thực hành.
Để tìm các ước nguyên tố của một số thì ta tìm các ước của số đó trước, rồi xét xem trong các ước đó, ước nào là số nguyên tố thì số đó được gọi là ước nguyên tố của số đã cho.
+ Để tìm các ước của số 23 ta lấy 23 lần lượt chia cho các số tự nhiên từ 1 đến 23. Các phép chia hết là: 23 : 1 = 23; 23 : 23 = 1.
Do đó các ước của số 23 là: 1; 23, trong hai ước này ta thấy số 23 là số nguyên tố (vì nó lớn hơn 1 và chỉ có hai ước là 1 và chính nó)
Vậy ước nguyên tố của số 23 là 23.
(Cách giải khác: Vì 23 là số nguyên tố nên ước nguyên tố của 23 là 23.)
+ Để tìm các ước của số 24 ta lấy 24 lần lượt chia cho các số tự nhiên từ 1 đến 24. Các phép chia hết là:
24 : 1 = 24; 24 : 2 = 12; 24 : 3 = 8; 24 : 4 = 6; 24: 6 = 4; 24 : 8 = 3; 24 : 12 = 2; 24 : 24 = 1
Do đó các ước của số 24 là: 1; 2; 3; 4; 6; 8; 12; 24, trong đó chỉ có 2 và 3 là số nguyên tố (vì nó lớn hơn 1 và chỉ có 2 ước là 1 và chính nó)
Vậy các ước nguyên tố của số 24 là: 2 và 3.
+ Để tìm các ước của số 26 ta lấy 26 lần lượt chia cho các số tự nhiên từ 1 đến 26. Các phép chia hết là:
26 : 1 = 26; 26 : 2 = 13; 26 : 13 = 2; 26 : 26 = 1
Do đó các ước của số 26 là: 1; 2; 13; 26, trong đó chỉ có số 2 và 13 là số nguyên tố (vì nó lớn hơn 1 và chỉ có 2 ước là 1 và chính nó)
Vậy các ước nguyên tố của 26 là: 2 và 13
+ Để tìm các ước của số 27 ta lấy 27 lần lượt chia cho các số tự nhiên từ 1 đến 27. Các phép chia hết là:
27 : 1 = 27; 27 : 3 = 9; 27 : 9 = 3; 27 : 27 = 1
Do đó các ước của số 27 là: 1; 3; 9; 27, trong đó chỉ có số 3 là số nguyên tố (vì nó lớn hơn 1 và chỉ có 2 ước là 1 và chính nó)
Vậy ước nguyên tố của 27 là: 3.
Cách 1
Cách 1
Ví dụ numbers("0101abc") = 4.
Cách 1
Cách 2
VẬN DỤNG.
CÂU 1. Trong khi viết hàm có thể có nhiều lệnh return. Quan sát hàm sau và giải thích ý nghĩa của những lệnh return. Hàm này có điểm gì khác so với hàm prime( ) đã được mô tả trong phần thực hành.
Gợi ý Giải bài tập phần vận dụng 1 Tin học 10 trang 130 KNTT
- Tổng số các kí tự là chữ số của xâu.
- Tổng số các kí tự là chữ cái tiếng Anh trong xâu.
Viết hàm cho mỗi yêu cầu trên.
Gợi ý Giải bài tập phần vận dụng 2 Tin học 10 trang 130 KNTT
Hàm đếm số các kí tự là chữ số trong xâu:Chủ đề 1: Máy tính và xã hội tri thức
Lý thuyết: Bài 1-Thông tin và dữ liệu
Lý thuyết: Bài 2-Vai trò của thiết bị thông minh và tin học đối với xã hội
Chủ đề 2: Mạng máy tính và Internet
Lý thuyết: Bài 8-Mạng máy tính trong cuộc sống hiện đại
Lý thuyết: Bài 9-An toàn trên không gian mạng
Chủ đề 3: Đạo đức, pháp luật và văn hóa trong môi trường số
Lý thuyết: Bài 11-Ứng dụng trên môi trường số. Nghĩa vụ tôn trọng bản quyền
Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính
Lý thuyết: Bài 16-Ngôn ngữ lập trình bậc cao và Python
Lý thuyết: Bài 17-Biến và lệnh gán
Lý thuyết: Bài 18-Các lệnh vào ra đơn giản
Lý thuyết: Bài 19-Câu lệnh điều kiện if
Lý thuyết: Bài 20-Câu lệnh lặp for
Lý thuyết: Bài 21-Câu lệnh lặp while
Lý thuyết: Bài 22-Kiểu dữ liệu danh sách
Lý thuyết: Bài 23-Một số lệnh làm việc với dữ liệu danh sách
Lý thuyết: Bài 24-Xâu kí tự
Lý thuyết: Bài 25-Một số lệnh làm việc với xâu kí tự
Lý thuyết: Bài 26-Hàm trong Python
Lý thuyết: Bài 27-Tham số của hàm
Lý thuyết: Bài 28-Phạm vi của biến
Lý thuyết: Bài 29-Nhận biết lỗi chương trình
Lý thuyết: Bài 30-Kiểm thử và gỡ lỗi chương trình
Lý thuyết: Bài 31-Thực hành viết chương trình đơn giản
Lý thuyết: Bài 32-Ôn tập lập trình Python
Chủ đề 6: Hướng nghiệp với Tin học
Lý thuyết: Bài 33-Nghề thiết kế đồ hoạ máy tính
Lý thuyết: Bài 34-Nghề phát triển phần mềm