Hai hàm dùng chung cùng một bán kính
Đặt hai hàm trong tệp `hinh_tron.py`; tệp `main.py` nhập bán kính dương và gọi hàm. Với bán kính r, chu vi là `2πr`, diện tích là `πr²`. Hằng số `math.pi` có sẵn trong thư viện chuẩn Python. Hai tệp cần ở cùng thư mục để lệnh `import hinh_tron` tìm đúng mô-đun. Ví dụ với r=3, chu vi khoảng 18,85 đơn vị độ dài và diện tích khoảng 28,27 đơn vị diện tích; đây là hai đại lượng khác đơn vị.
Tệp hinh_tron.py và lời gọi trong main.py
Nội dung tệp `hinh_tron.py`:
```python
from math import pi
def tinh_chu_vi(r):
return 2 * pi * r
def tinh_dien_tich(r):
return pi * r * r
```
Nội dung tệp `main.py` cùng thư mục:
```python
import hinh_tron
from math import isfinite
r = float(input("Nhập bán kính dương: "))
if not isfinite(r) or r <= 0:
raise ValueError("Bán kính phải dương")
print(f"Chu vi: {hinh_tron.tinh_chu_vi(r):.2f}")
print(f"Diện tích: {hinh_tron.tinh_dien_tich(r):.2f}")
```
Nhập `3` sẽ in `Chu vi: 18.85` và `Diện tích: 28.27`. Hai hàm chỉ nhận r và trả số; phần nhập, kiểm dữ liệu và in nằm trong chương trình chính. Khi gõ chữ không đổi được thành số, `float` báo lỗi; đây là dữ liệu nhập sai, không phải lỗi công thức.
Bài luyện
Với bán kính 3, diện tích hình tròn theo công thức nào?
Diện tích bằng πr².
Đây là chu vi.
Thiếu một lần nhân r.
Thiếu π.
Lời giải
Diện tích S=πr², thay r=3 được π×3×3≈28.27.
Bài luyện
Trong `main.py`, vì sao kiểm r dương trước khi gọi hàm?
Đầu vào hợp lệ của bài là bán kính dương.
math.pi là số thực.
Lỗi import không liên quan dấu của r.
Diện tích có thể là số thực.
Lời giải
Đề yêu cầu nhập một bán kính dương; kiểm r<=0 để báo dữ liệu không phù hợp trước khi tính.
Bài luyện
Sau `import hinh_tron`, cách gọi hàm chu vi là gì?
Tên mô-đun đứng trước tên hàm.
Đảo thứ tự tên.
Hàm này nằm trong mô-đun tự viết.
Mô-đun không là một hàm.
Lời giải
Import hinh_tron tạo tên mô-đun; hàm bên trong được gọi bằng hinh_tron.tinh_chu_vi(r).
Đang học