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

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)
    
    点赞 打赏 评论
  • 有问必答小助手 2021-05-27 15:52

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 打赏 评论

相关推荐 更多相似问题