编写程序,创建类Temperature, 其包含成员变量degree(表示温度,允许C和F两种格式),以及实例方法to_fab()(将摄氏温度转换为华氏温度)和to_cel()(将华氏温度转换为摄氏温度),并编写测试代码,输出如图2所示的运行效果,要求结果保留1位小数。
请输入温度:30C
摄氏温度 = 30.0,华氏温度 = 86.0
请输入温度:86F
华氏温度 = 86.0,摄氏温度 = 30.0
(图二)
代码:
class Temperature:
def __init__(self,degree):
self.degree = degree[-1]
self.num = degree[0:-1]
def to_fab(self):
if self.degree in 'F':
c = (eval(self.num)-32)/1.8
return c
else:
return eval(self.num)
def to_cel(self):
if self.degree in 'C':
f = 1.8*eval(self.num)+32
return f
else:
return eval(self.num)
while True:
deg = input("请输入温度:")
dc1 = Temperature(deg)
print("摄氏温度=","{:.1f}".format(dc1.to_fab()),end=",")
print("华氏温度=","{:.1f}".format(dc1.to_cel()))
效果: