Giải Tin Học 10 trang 128

Lời giải chi tiết SGK Lớp 10 · Môn Tin Học · Trang 128–129

Nguon: Tin Hoc 10 - Ket Noi Tri Thuc Voi Cuoc Song (trang 128 – 129)

🔍 Kiến thức cần nhớ

1. Hàm là gì?

  • Trong lập trình, người ta thường gom những khối lệnh được dùng lặp lại nhiều lần thành các chương trình con. Trong Python, các chương trình con chính là các hàm (function).
  • Khi cần, ta chỉ việc gọi tên hàm thay vì viết lại cả khối lệnh.

2. Hàm thiết kế sẵn (hàm có sẵn) của Python

  • Python cung cấp sẵn rất nhiều hàm: abs(), len(), range(), bool(), float(), list(), round(), chr(), input(), ord(), str(), divmod(), int(), print(), type(), …
  • Cú pháp câu lệnh gọi hàm:
()
  • Tham số của hàm là các giá trị, biến hoặc biểu thức được ghi bên trong cặp dấu ngoặc. Có trường hợp dấu ngoặc để trống, ví dụ input().

3. Hàm tự định nghĩa

  • Định nghĩa bằng từ khóa def, theo sau là tên hàm (đặt theo quy tắc tên định danh).
  • Khối lệnh của hàm viết sau dấu : và phải viết lùi vào, thẳng hàng.
  • Hàm có thể có hoặc không có tham số.
  • Hàm có thể có hoặc không trả lại giá trị, dùng từ khóa return.
💡 Mẹo nhớ: Cấu trúc một hàm gồm 4 phần: def → tên hàm → (tham số) → khối lệnh thụt vào → return (nếu cần).

⚙️ Bài tập

Câu 1 (Hoạt động 1)

Đề bài: Quan sát một số câu lệnh trong Bảng 26.1 và cho biết những câu lệnh này có điểm chung gì.

Cách 1 — Quan sát hình thức trình bày

Các lệnh trong bảng: abs(), len(), range(), bool(), float(), list(), round(), chr(), input(), ord(), str(), divmod(), int(), print(), type().

Điểm chung dễ thấy nhất:

  • Tất cả đều có một cặp dấu ngoặc đơn ( ) đặt ngay sau tên lệnh.
  • Bên trong cặp ngoặc có thể ghi thêm các tham số (giá trị, biến, biểu thức), hoặc để trống.
Cách 2 — Quan sát bản chất
  • Tất cả chúng đều là các hàm có sẵn (hàm thiết kế sẵn) của Python.
  • Mỗi hàm thực hiện một công việc cụ thể và đa số trả lại một kết quả khi gọi.
  • Khi sử dụng, ta đều dùng chung một cú pháp: ().
Kết luận: Điểm chung là tất cả đều là hàm, viết theo dạng tên hàm kèm cặp dấu ngoặc đơn, bên trong có thể chứa tham số.
⚠️ Lưu ý thi: Đừng nhầm range với range(). Có dấu ngoặc mới là lời gọi hàm.

Câu 2 (Câu hỏi mục 1)

Đề bài: Mô tả tham số và giá trị trả lại của mỗi hàm sau: float(), str(), len(), list().

Cách 1 — Mô tả từng hàm theo bảng

a) Hàm float()

  • Tham số: một số hoặc một xâu kí tự biểu diễn số (ví dụ "3.14").
  • Giá trị trả lại: số thực (kiểu float) tương ứng.
  • Ví dụ: float("3.14") trả lại 3.14; float(5) trả lại 5.0.

b) Hàm str()

  • Tham số: một giá trị bất kì (số, biến, đối tượng…).
  • Giá trị trả lại: xâu kí tự (kiểu str) biểu diễn giá trị đó.
  • Ví dụ: str(52) trả lại "52"; str(3.14) trả lại "3.14".

c) Hàm len()

  • Tham số: một dãy/đối tượng có độ dài như xâu kí tự, danh sách (list), tuple…
  • Giá trị trả lại: số nguyên (kiểu int) là số phần tử (độ dài) của đối tượng đó.
  • Ví dụ: len("Python") trả lại 6; len([1, 2, 3]) trả lại 3.

d) Hàm list()

  • Tham số: một đối tượng có thể duyệt được (xâu, range, tuple…). Có thể để trống.
  • Giá trị trả lại: một danh sách (kiểu list) gồm các phần tử của đối tượng đó.
  • Ví dụ: list("abc") trả lại ['a', 'b', 'c']; list() trả lại danh sách rỗng [].
Cách 2 — Ghi nhớ theo nhóm chức năng

Có thể nhóm 4 hàm này theo công việc chúng làm:

  • float()str(): hàm chuyển đổi kiểu (ép kiểu) — nhận 1 giá trị, trả lại giá trị đó ở kiểu mới (float / str).
  • len(): hàm đo độ dài — nhận 1 đối tượng có nhiều phần tử, trả lại số nguyên đếm số phần tử.
  • list(): hàm tạo danh sách — nhận đối tượng duyệt được, trả lại một list.
HàmTham sốGiá trị trả lại
float()số hoặc xâu biểu diễn sốsố thực
str()giá trị bất kìxâu kí tự
len()đối tượng có độ dàisố nguyên (độ dài)
list()đối tượng duyệt đượcdanh sách
⚠️ Lưu ý thi: len() chỉ dùng cho đối tượng có độ dài (xâu, list…). Gọi len(5) (một số) sẽ báo lỗi vì số không có độ dài.

Câu 3 (Hoạt động 2 – Ví dụ minh họa)

Đề bài: Quan sát các ví dụ sau để biết cách viết hàm.

Đây là hoạt động quan sát ví dụ, không phải câu hỏi yêu cầu tính toán. Dưới đây phân tích đầy đủ 2 ví dụ trong SGK.
Phân tích Ví dụ 1 — Hàm có trả lại giá trị
>>> def inc(n):
        return n+1

>>> inc(3)
4
  • Tên hàm: inc.
  • Tham số hàm: số n.
  • Giá trị trả lại: số n + 1 (nhờ từ khóa return).
  • Khi gọi inc(3): thay n = 3, hàm trả lại 3 + 1 = 4.
Phân tích Ví dụ 2 — Hàm không trả lại giá trị
>>> def thong_bao(msg):
        print("Xin chào bạn", msg)
        return

>>> thong_bao("Trần Quang Minh")
Xin chào bạn Trần Quang Minh
  • Tên hàm: thong_bao.
  • Tham số hàm: xâu kí tự msg.
  • Giá trị trả lại: không có (return đứng một mình, không kèm giá trị).
  • Khi gọi thong_bao("Trần Quang Minh"): hàm in ra màn hình dòng chữ Xin chào bạn Trần Quang Minh.
So sánh hai ví dụ: - Ví dụ 1: return n+1trả lại giá trị để dùng tiếp. - Ví dụ 2: return (trống) hoặc thực hiện in → không trả lại giá trị, chỉ thực hiện công việc.
💡 Mẹo nhớ:return thì hàm trả kết quả; còn nếu chỉ print(...) thì hàm chỉ hiển thị ra màn hình chứ không trả về giá trị để gán cho biến.
⚠️ Lưu ý thi: Khối lệnh trong hàm bắt buộc viết lùi vào (thụt đầu dòng) và thẳng hàng. Sai thụt lề là lỗi cú pháp rất hay gặp khi viết hàm trong Python.
🎯 Ghi nhớ: Hàm trong Python được định nghĩa bằng từ khóa def, theo sau là tên hàm và cặp ngoặc chứa tham số (có thể trống). Khối lệnh viết sau dấu : và thụt vào thẳng hàng. Hàm có thể trả lại giá trị bằng return, hoặc không trả giá trị nào. Ngoài các hàm tự định nghĩa, Python còn có sẵn rất nhiều hàm như print(), int(), len(), str()… dùng theo cú pháp tên_hàm(tham_số).
Chế độ đọc sách →