Cảm biến Nhiệt độ Đa thang đo với Python Property Descriptors
Cài đặt lớp TemperatureSensor(celsius: float = 0.0):
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: property, getter setter.
Nội dung đề bài
Mục tiêu kiến thức
- Sử dụng cú pháp @property, @property_name.setter chuẩn Python.
- Thực hiện kiểm tra ràng buộc vật lý: nhiệt độ không thể thấp hơn độ không tuyệt đối (-273.15^circC).
- Cung cấp các thuộc tính ảo (Virtual Attributes) tự động tính toán giữa Celsius, Fahrenheit và Kelvin.
Mô tả bài toán
Cài đặt lớp TemperatureSensor(celsius: float = 0.0):
- _celsius: thuộc tính lưu trữ giá trị gốc.
- Thuộc tính celsius:
- Getter: trả về self._celsius.
- Setter: nếu giá trị < -273.15, raise ValueError("Nhiet do khong the thap hon do khong tuyet doi").
- Thuộc tính fahrenheit:
- Getter: F = C × 95 + 32.
- Setter: gán giá trị mới F, tự động quy đổi và cập nhật lại celsius = (F - 32) × 59. 4. Thuộc tính kelvin: - Getter (read-only): K = C + 273.15. ## Input - Các tham số truyền vào hàm/lớp TemperatureSensor hoặc dữ liệu đầu vào theo định dạng mô tả. ## Output - Kết quả trả về của hàm/lớp TemperatureSensor hoặc dữ liệu in ra màn hình theo đúng đặc tả. ## Ràng buộc - Thời gian chạy tối đa: 1000ms. - Giới hạn bộ nhớ: 256MB. - Dữ liệu đầu vào tuân thủ đúng kiểu dữ liệu và miền giá trị được mô tả. ## Ví dụ 1 ### Input python TemperatureSensor(initialcelsius=100.0, setfahrenheit=32.0) ### Output python 212.0 ### Giải thích ví dụ 1 Hàm được gọi với các tham số mẫu trên và trả về kết quả chính xác theo yêu cầu. ## Ví dụ 2 ### Input python TemperatureSensor(invalidcelsius=-300.0) ### Output python True ### Giải thích ví dụ 2 Hàm được gọi với bộ tham số thứ hai và trả về kết quả tương ứng theo thiết kế.
Input
Setter: gán giá trị mới F, tự động quy đổi và cập nhật lại celsius = (F - 32) × 59. 4. Thuộc tính kelvin: - Getter (read-only): K = C + 273.15. ## Input - Các tham số truyền vào hàm/lớp TemperatureSensor hoặc dữ liệu đầu vào theo định dạng mô tả. ##
Output
Getter: trả về self._celsius.
Trả về Kết quả trả về của hàm/lớp TemperatureSensor hoặc dữ liệu in ra màn hình theo đúng đặc tả. ## Ràng buộc - Thời gian chạy tối đa: 1000ms. - Giới hạn bộ nhớ: 256MB. - Dữ liệu đầu vào tuân thủ đúng kiểu dữ liệu và miền giá trị được mô tả. ## Ví dụ 1 ### Input python TemperatureSensor(initial_celsius=100.0, set_fahrenheit=32.0) ### Output python 212.0 ### Giải thích ví dụ 1 Hàm được gọi với các tham số mẫu trên và trả về kết quả chính xác theo yêu cầu. ## Ví dụ 2 ### Input python TemperatureSensor(invalid_celsius=-300.0) ### Output python True ### Giải thích ví dụ 2 Hàm được gọi với bộ tham số thứ hai và trả về kết quả tương ứng theo thiết kế.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
