mitsushima46 2021-05-23 10:37 采纳率: 100%
浏览 77
已采纳

Python 代码复用(类与对象)

温度转换类方法‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬描述编写程序,创建类Temperature, 其包含类成员变量degree(表示温度,允许C和F两种格式),静态方法to_fab()(将摄氏温度转换为华氏温度)和to_cel()(将华氏温度转换为摄氏温度),类方法get_converted()(其通过调用to_fab()和to_cel()方法实现不同格式温度的转换),要求结果保留1位小数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬摄氏温度与华氏温度的转换关系: C = (F -32)* 5/9‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬输入输出示例 输入 输出示例 1 30C华氏温度:86.0F示例 2 85F 摄氏温度:29.4C示例 3 23 温度格式错误完成下面 9 处填空class Temperature(): '''转换温度,允许C和F两种方式''' degree = '' # 类属性degree # 定义静态方法 to_fab 点击在此输入代码 def to_fab(点击在此输入代码): '''将摄氏温度转换为华氏温度''' 点击在此输入代码 # 定义静态方法 to_cel 点击在此输入代码 def to_cel(点击在此输入代码): '''将华氏温度转换为摄氏温度 ''' 点击在此输入代码 # 定义类方法 get_converted 点击在此输入代码 def get_converted(点击在此输入代码): '''根据输入的单位自动转换温度并输出'''点击在此输入一行或多行代码 # 测试代码 Temperature.degree = input()Temperature.get_converted()

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-05-23 14:15
    关注
    class Temperature: 
        '''转换温度,允许C和F两种方式''' 
        degree = '' # 类属性degree 
    
        @staticmethod 
        def to_fab(degree): 
            '''将摄氏温度转换为华氏温度''' 
            return  round(degree*9/5+32,1)
    
        @staticmethod
        def to_cel(degree): 
            '''将华氏温度转换为摄氏温度 ''' 
            return round((degree-32)*5/9,1)
    
        @classmethod
        def get_converted(cls,degree): 
            '''根据输入的单位自动转换温度并输出'''
            if 'C' in degree:
                F=cls.to_fab(float(degree.split('C')[0]))
                print(str(F)+'F') 
            elif 'F' in degree:
                C=cls.to_cel(float(degree.split('F')[0]))
                print(str(C)+'C')
            else:
                print('input error!')
    # 测试代码 
    Temperature.degree = input()
    Temperature.get_converted(Temperature.degree)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?