Bài 10 – Chương trình con trong ngôn ngữ lập trình Python
1. Tìm hiểu về chương trình con
– Chương trình con trong Python gồm các package, module và các hàm được xây dựng sẵn hoặc do người lập trình tự xây dựng.
– Package là thư mục chứa một hoặc nhiều module hay các package khác nhau
– Module là tập hợp gồm các hàm liên quan như: math, random, pygame,…
– Chương trình con thường gồm 2 loại là hàm và thủ tục, nhưng trong Python không phân biệt hàm và thủ tục, mà chỉ dùng khái niệm hàm. Hàm chỉ được thực hiện khi được gọi
2. Cấu trúc hàm trong Python
a. Khai báo hàm:
def <tên hàm>([<danh sách tham số>]):
<dãy các lệnh>
[return <giá trị>]
b. Hàm ẩn danh:
<tên hàm> = lambda <danh sách tham số>: <biểu thức, giá trị trả về>
c. Ví dụ: Viết hàm tính tổng 3 số bất kỳ
Cách 1: Khai báo hàm tong3
def tong3(a, b, c):
t = a + b + c
return t
Cách 2: Sử dụng hàm ẩn danh
tong3 = lambda a, b, c: a + b + c
Lưu ý:
Danh sách tham số có thể được khởi tạo giá trị mặc định
Ví dụ:
def tong3(a=0,b=0,c=0)
return a + b + c
Lúc đó nếu không truyền tham số cho a, b, c thì a, b, c sẽ có giá trị mặc định là 0.
3. Thực hiện chương trình con
a. Đối với hàm: <tên hàm>([<danh sách tham số thực>])
Ví dụ:
tong = tong3(a, b, c) #Gán giá trị trả về của hàm tong3 cho biến tong
tong = tong3() #Lúc đó biến tong sẽ có giá trị là 0, vì a, b, c sẽ nhận mặc định 0
n = math.abs(x) #Gán giá trị tuyệt đối của x cho biến n
b. Đối với Module
import <tên module> hoặc from <tên module> import <tên hàm>
Ví dụ:
import math #Thêm thư viện Toán học
from math import sqrt #Thêm hàm sqrt trong thư viện Toán học
from random import * #Thêm toàn bộ hàm trong thư viện random
c. Đối với Package
import <tên pagekage>.<tên module>
Ví dụ:
#1
import demopackage.modules #Thêm modules từ demopackage
demopackage.modules.say_hello() #Gọi hàm sayhello() trong modules
#2
import demopackage.modules as modules #Thêm modules từ demopackage
modules.say_hello() #Gọi hàm sayhello() trong modules
4. Một số ví dụ về chương trình con
Ví dụ 1: Viết chương trình có sử dụng hàm lambda để trả về số giây tương ứng với các tham số giờ, phút, giây tương ứng nhập vào từ bàn phím.
Ví dụ 2: Viết chương trình tính tổng sau: S = 1! + 2! + … + n!, với n là số nguyên dương nhập vào từ bàn phím.
Ví dụ 3: Viết chương trình để in ra màn hình các số nguyên tố từ 1 đến n, với n là số nguyên dương nhập vào từ bàn phím.
Ví dụ 4: Viết chương trình giải bài toán Tháp Hà Nội
Bài toán Tháp Hà Nội (Tower of Hanoi) là một trò chơi toán học bao gồm 3 cột và với số đĩa nhiều hơn 1. Các đĩa có kích cỡ khác nhau và xếp theo tự tự tăng dần về kích cỡ từ trên xuống: đĩa nhỏ hơn ở trên đĩa lớn hơn. Nhiệm vụ của trò chơi là di chuyển các đĩa có kích cỡ khác nhau sang cột khác sao cho vẫn đảm bảo thứ tự ban đầu của các đĩa: đĩa nhỏ nằm trên đĩa lớn.
Xem tiếp Bài 11 – Làm việc với kiểu dữ liệu tệp trong ngôn ngữ lập trình Python