BÀI 26:
HÀM TRONG PYTHON
MỤC TIÊU
Hàm là chương trình con
Cách tạo hàm trong python
HÀM TRONG PYTHON
Hàm là gì?
Viết chương trình nhập số tự nhiên n là số học sinh, sau đó nhập họ và tên học sinh. Lưu họ tên học sinh vào một danh sách. In danh sách ra màn hình mỗi họ tên trên một dòng.
Viết chương trình nhập số tự nhiên n rồi nhập n họ tên học sinh. Sau đó yêu cầu nhập một tên và thông báo số bạn có cùng tên đó trong lớp.
Viết chương trình nhập số tự nhiên n, rồi nhập họ tên của n học sinh. Sau đó in ra danh sách tên học sinh theo hai cột, cột 1 là tên, cột 2 là họ đệm.
Viết chương trình nhập số học sinh và họ tên học sinh. Sau đó đếm xem trong danh sách có bao nhiêu bạn tên là Hương.
n=int(input("Nhập số học sinh trong lớp: "))
dslop=[]
for i in range(n):
hoten=input(“Nhập họ tên học sinh thứ “ + str(i+1) + “: “)
dslop.append(hoten)
Nhập_danh_sách_hoc_sinh()
Hàm
HÀM TRONG PYTHON
Hàm là gì?
Hàm
- Hàm là một câu lệnh được dùng thay cho một khối lệnh
- Hàm là chương trình con
Nhập_danh_sách_hoc_sinh()
Tạo hàm và gọi hàm
HÀM TRONG PYTHON
n=int(input("Nhập số học sinh trong lớp: "))
dslop=[]
for i in range(n):
hoten=input(“Nhập họ tên học sinh thứ “ + str(i+1) + “: “)
dslop.append(hoten)
def
:
Nhập_danh_sách_hoc_sinh()
Tạo hàm
Gọi hàm
Tạo hàm và gọi hàm
HÀM TRONG PYTHON
def tên hàm(<danh sách tham số>):
<khối lệnh>
tên hàm(<danh sách tham số>)
Tạo hàm
Gọi hàm
Tạo hàm và gọi hàm
HÀM TRONG PYTHON
Tham số của hàm
def Nhập_danh_sách_hoc_sinh()
n=int(input("Nhập số học sinh trong lớp: "))
dslop=[]
For i in range(n):
hoten=input(“Nhập họ tên học sinh thứ “ + str(i+1) + “: “)
dslop.append(hoten)
def Nhập_danh_sách_hoc_sinh(n)
dslop=[]
for i in range(n):
hoten=input(“Nhập họ tên học sinh thứ “ + str(i+1) + “: “)
dslop.append(hoten)
Nhập_danh_sách_học_sinh()
Nhập_danh_sách_học_sinh(5)
Hàm không có tham số
HÀM TRONG PYTHON
Hàm có tham số
Tham số của hàm
HÀM TRONG PYTHON
Giá trị trả lại
def tên hàm(<tham số>):
<khối lênh>
Hàm
def tên hàm(<tham số>):
<khối lệnh>
return <giá trị trả về>
Hàm trả lại giá trị
def tên hàm(tham số):
<khối lệnh>
return
Hàm không trả lại giá trị
HÀM TRONG PYTHON
Trả lại giá trị
HÀM TRONG PYTHON
MỘT SỐ HÀM THIẾT KẾ SẴN CỦA PYTHON 1
THIẾT LẬP CÁC HÀM TỰ ĐỊNH NGHĨA 2
MỘT SỐ HÀM THIẾT KẾ SẴN CỦA PYTHON 1
Hàm(Lệnh) | Tên hàm | Tham số | Giá trị trả lại |
print(“Thời khóa biểu”) | “Thời hóa biểu” | ‘Thời khóa biểu’ | |
int(“52”) | int | “52” | 52 |
y=5.2 type(y) | type | Biến y 5.2 | Kiểu dữ liệu của biến y float |
print(“Xin chào”)
print(5+4*3-6)
MỘT SỐ HÀM THIẾT KẾ SẴN CỦA PYTHON 1
Hàm(Lệnh) | Tham số | Giá trị trả lại |
float() | Xâu kí tự chữ số, số nguyên | Kiểu dữ liệu số thực |
str() | Các kiểu dữ liệu | Kiểu dữ liệu xâu kí tự |
len() | Danh sách, xâu kí tự | Độ dài danh sách hoặc xâu kí tự |
list() | Các kiểu dữ liệu | Kiểu dữ liệu danh sách |
MỘT SỐ HÀM THIẾT KẾ SẴN CỦA PYTHON 1
THIẾT LẬP CÁC HÀM TỰ ĐỊNH NGHĨA 2
THIẾT LẬP CÁC HÀM TỰ ĐỊNH NGHĨA 2
def inc(n):
n=n+1
return n
THIẾT LẬP CÁC HÀM TỰ ĐỊNH NGHĨA 2
THIẾT LẬP CÁC HÀM TỰ ĐỊNH NGHĨA 2
Hàm trong Python được định nghĩa bằng từ khóa def, theo sau là tên hàm
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
THIẾT LẬP CÁC HÀM TỰ ĐỊNH NGHĨA 2
a) - Cách thiết lập: Hàm được định nghĩa bằng từ khoá def, theo sau là tên hàm Nhap_xau(). Hàm không có tham số, khối lệnh mô tả hàm được viết sau dấu “:”. Hàm trả về giá trị msg.
- Chức năng: Nhập và trả về một xâu kí tự
b) - Cách thiết lập: Hàm được định nghĩa bằng từ khoá def, theo sau là tên hàm Inday(n). Hàm có tham số, khối lệnh mô tả hàm được viết sau dấu “:”. Hàm không có giá trị trả về.
- Chức năng: Hiển thị ra màn hình một dãy số từ 0 tới n - 1
THỰC HÀNH
THỰC HÀNH
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
THỰC HÀNH
Nhiệm vụ 2.
Viết hàm prime(n) 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ố.
n=7:
k=1: n%k==0 (Đúng) 🡪 C=0+1=1
k=2: n%k==0 (Sai)
k=3: n%k==0 (Sai)
k=4: n%k==0 (Sai)
k=5: n%k==0 (Sai)
k=6: n%k==0 (Sai)
KQ: C=1 🡪 True 🡪 7 là số nguyên tố
n=6:
k=1: n%k==0 (Đúng) 🡪 C=0+1=1
k=2: n%k==0 (Đúng) 🡪 C=1+1=2
k=3: n%k==0 (Đúng) 🡪 C=2+1=3
k=4: n%k==0 (Sai)
k=5: n%k==0 (Sai)
KQ: C=3 🡪 False 🡪 6 không phải là số nguyên tố
THỰC HÀNH
Nhiệm vụ 2.
Viết hàm prime(n) 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ố.
LUYỆN TẬP
def prime(m):
c=0
k=1
while k<m:
if m%k==0:
c=c+1
k=k+1
if c==1:
return True
else:
return False
1. Hàm in ra các số là ước nguyên tố của n:
def Uoc_nguyen_to(n)
for i in range(1,n+1):
if n%i==0 and prime(i)==True:
print(i, end=" ")
LUYỆN TẬP
LUYỆN TẬP
2.
def numbers(s):
c=0
for ch in s:
if '0'<=ch<='9’:
c=c+1
return c
numbers(“a1b2c3”)
c=0
ch=“a”: ĐK sai
ch=“1”: ĐK đúng 🡪 c=0+1=1
ch=“b”: ĐK sai
ch=“2”: ĐK đúng 🡪 c=1+1=2
ch=“c”: ĐK sai
ch=“3”: ĐK đúng 🡪 c=2+1=3
KQ: 3
LUYỆN TẬP
VẬN DỤNG
1.
- Ý nghĩa của các lệnh return: Trả về giá trị True hoặc False và thoát ra ngoài hàm ngay
- Hàm này tối ưu hơn so với hàm prime đã được mô tả trong phần thực hành do có thể trả về giá trị True hoặc False ngay mà không cần thực hiện hết các câu lệnh tới cuối.
VẬN DỤNG
def numbers(s):
C=0
for ch in s:
if '0'<=ch<='9':
C=C+1
return C
def characters(s):
C=0
for ch in s:
if 'a'<=ch<='z' or 'A'<=ch<='Z':
C=C+1
return C
s=input("Nhập xâu kí tự")
print("Số kí tự chữ số trong xâu s là: ", numbers(s))
print("Số kí tự chữ cái trong xâu s là: ", characters(s))
VẬN DỤNG
THANK YOU!