m0_63799662 2021-11-02 20:15 采纳率: 100%
浏览 291
已结题

关于#python#的题目,请各位专家解答!我前面四道做出来了,最后一道不会

1.设计一个Human类,具有姓名(name)和体重(weight)属性,和跑步(run)方法和吃饭(eat)方法,每个方法打印一行字,xx(此人的名字)正在跑步/吃饭。

2.以Human类为父类,派生出Man类,Man每次跑步体重减少0.3kg,每次吃饭体重增加0.2kg。初始化Man的对象的时候,随机初始化设置他的体重为60-90kg。

3.以Human类为父类,派生出Woman类,Woman每次跑步体重减少0.2kg,每次吃饭体重增加0.1kg。初始化Woman的对象的时候,随机初始化设置他的体重为40-60kg。

4.实例化两个对象,男女各一个,自行取名,打印出他/她们的名字和体重。

5.让他/她们各自度过30天,男的每天跑1次步,吃3顿饭,女的每天跑2次步,吃2顿饭。打印出30天后各自的名字和体重。

  • 写回答

1条回答 默认 最新

  • Ice_bling 2021-11-03 20:35
    关注
    
    import random
    
    
    class Human(object):
        """
        人类
        """
        def __init__(self, name, weight):
            self.name = name  # 姓名
            self.weight = weight  # 体重
    
        def run(self):
            """跑步"""
            print("{}正在跑步".format(self.name))
    
        def eat(self):
            """吃饭"""
            print("{}正在吃饭".format(self.name))
    
    
    class Man(Human):
    
        def __init__(self, name):
            weight = random.randint(60, 90)  # 体重
            super(Man, self).__init__(name, weight)
    
        def run(self):
            super(Man, self).run()
            self.weight -= 0.3
    
        def eat(self):
            super(Man, self).eat()
            self.weight += 0.2
    
        def do_for_day(self):
            """
            每天做的事情
            """
            self.run()
            self.eat()
            self.eat()
            self.eat()
    
    
    class Woman(Human):
    
        def __init__(self, name):
            weight = random.randint(40, 60)  # 体重
            super(Woman, self).__init__(name, weight)
    
        def run(self):
            super(Woman, self).run()
            self.weight -= 0.2
    
        def eat(self):
            super(Woman, self).eat()
            self.weight += 0.1
    
        def do_for_day(self):
            """
            每天做的事情
            """
            self.run()
            self.run()
            self.eat()
            self.eat()
    
    # 4
    man1 = Man("张三")
    woman1 = Woman("李四")
    print("{}: {}, {}:{}".format(man1.name, man1.weight, woman1.name, woman1.weight))
    
    # 5
    for day in range(30):
        man1.do_for_day()
        woman1.do_for_day()
    print("{}: {}, {}:{}".format(man1.name, man1.weight, woman1.name, woman1.weight))
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月7日
  • 已采纳回答 11月7日
  • 修改了问题 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 运筹学中在线排序的时间在线排序的在线LPT算法
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧