)编写程序, 创建类Temperature,其中包含成员变量degree (表示温度),及实例方 法ToFahrenheit(摄氏转华氏温度) ToCelsius(华氏温度转摄氏),并编写测试代码。
时间: 2024-10-20 10:17:28 浏览: 31
当然,我们可以创建一个名为 `Temperature` 的类,它有一个 `degree` 成员变量用于存储温度,并提供两个方法 `to_fahrenheit()` 和 `to_celsius()` 来转换温度单位。以下是这个类的实现以及一些测试代码:
```python
class Temperature:
def __init__(self, degree):
self.degree = degree
# 实现摄氏度转华氏度的转换
def to_fahrenheit(self):
return (self.degree * 9/5) + 32
# 实现华氏度转摄氏度的转换
def to_celsius(self):
return (self.degree - 32) * 5/9
# 测试代码
if __name__ == "__main__":
celsius_temp = Temperature(20) # 创建一个20摄氏度的实例
print(f"摄氏温度:{celsius_temp.degree} 度")
print(f"华氏温度:{celsius_temp.to_fahrenheit()} 度")
fahrenheit_temp = Temperature(68) # 创建一个68华氏度的实例
print(f"华氏温度:{fahrenheit_temp.degree} 度")
print(f"摄氏温度:{fahrenheit_temp.to_celsius()} 度")
# 更多测试,例如极端温度下的转换等
test_cases = [
{"input": 0, "expected_output_fahrenheit": 32, "expected_output_celsius": 0},
{"input": 100, "expected_output_fahrenheit": 212, "expected_output_celsius": 100}
]
for case in test_cases:
temp = Temperature(case["input"])
assert temp.to_fahrenheit() == case["expected_output_fahrenheit"]
assert temp.to_celsius() == case["expected_output_celsius"], f"华氏 {temp.degree} 转换错误"
```
在这个例子中,我们首先初始化一个 `Temperature` 对象,然后使用 `to_fahrenheit()` 和 `to_celsius()` 方法进行温度转换,并进行了简单的测试用例验证。
阅读全文