Python基础入门编程代码练习(六)

一、模拟房产经纪人来管理房屋信息

编写业务实现

家具类:HouseItem
属性:名字 name,占地面积 area
方法:__init__ , __str__

类名:房子类 House
属性:户型 name,总面积:total_area,剩余面积:free_area = total_area,家具名称列表:item_list = []
方法: __init__ , __str__ 方法
添加家具方法
 def add_item(self,item): #item 家具对象
     判断剩余房屋面积(剩余的总面积)是否大于或等于家具面积
     修改房子的剩余面积
     修改房子的家具列表(把家具.append()存入到房子的家具列表中)

实现代码如下:

class Item(object):

    # 1. 定义__init__方法,添加2个属性,需要2个形参 _type, _area
    def __init__(self, _type, _area):
        # 1.1 地址 address
        self.type = _type
        # 1.2 家具面积 area
        self.area = _area

    # 2. 实现__str__方法
    def __str__(self):
        # 2.1 返回房子地址、面积、剩余面积信息
        return f'家具类型为:{self.type}, 家具面积为:{self.area}'

class House(object):

    # 1. 定义__init__方法,添加3个属性,需要3个形参
    def __init__(self, _addr, _area, _free_area):
        # 1.1 地址 address
        self.address = _addr
        # 1.2 房子面积 area
        self.area = _area
        # 1.3 房子剩余面积 free_area,默认为房子的面积
        self.free_area = _free_area

    # 2. 实现__str__方法
    def __str__(self):
        # 2.1 返回房子地址、面积、剩余面积信息
        return f'房子地址:{self.address}, 房子面积:{self.area}, 房子剩余面积:{self.free_area}'

    # 3. 实现add_item方法,提供item参数来添加家具,item是家具对象
    def add_item(self, item):
        # 3.1 如果 房间的剩余面积 >= 家具的面积,可以容纳家具:
        if self.free_area > item.area:
            # 3.1.1 打印添加家具的类型和面积
            print(f'添加{item.type}成功了,家具占用面积为:{item.area}')
            # 3.1.2 剩余面积 减少
            self.free_area -= item.area

        # 3.2 否则 不能容纳家具:提示家具添加失败
        else:
            print('家具添加失败')

h = House('兴东地铁站', 70, 70)  # 创建房间对象h
print(h)  # 打印房子对象,获取House中__str__返回的信息

tv = Item('超大电视', 10)  # 创建家具1
print(tv)  # 打印家具对象,输出Item中__str__返回的信息
h.add_item(tv)  # 房子添加家具
print(h)  # 打印房子对象,获取House中__str__返回的信息

bed = Item('超大床', 20)  # 创建家具2
print(bed)  # 打印家具对象,输出Item中__str__返回的信息
h.add_item(bed)  # 房子添加家具
print(h)

运行结果:

二、定义一个 Dog 类

定义一个 Dog 类, 定义一个类属性 count,用来记录创建该类对象的个数. (即每创建一个对象,count 的值就要加1)实例属性 name

实现代码如下:

class Dog:

    count = 0
    def __init__(self, name):
        self.name = name  # 实例属性
        Dog.count += 1

print(Dog.count)

dog1 = Dog('小花')
print(Dog.count)

dog2 = Dog
dog3 = dog1
print(Dog.count)

dog4 = Dog('团团')
print(Dog.count)

print(dog1.count)
print(dog4.count)

运行结果:

三、定义一个游戏类

定义一个游戏类 Game , 包含实例属性 玩家名字(name)

  1. 要求记录游戏的最高分(top_score 类属性),
  2. 定义方法: show_help 显示游戏的帮助信息 输出这是游戏的帮助信息
  3. 定义方法: show_top_score, 打印输出游戏的最高分
  4. 定义方法: start_game, 开始游戏, 规则如下
    1. 使用随机数获取本次游戏得分 范围 (10 - 100 )之间
    2. 判断本次得分和最高分之间的关系
      • 如果本次得分比最高分高,
        • 修改最高分
      • 如果分数小于等于最高分,则不操作
    3. 输出本次游戏得分
  1. 主程序步骤
  2. # 1) 创建一个 Game 对象  小王
  3. # 2) 小王玩一次游戏,
  4. # 3) 查看历史最高分
  5. # 4) 小王再玩一次游戏
  6. # 5) 查看历史最高分
  7. # 6) 查看游戏的帮助信息

实现代码如下:

import random


class Game:
    top_score = 0

    def __init__(self, name):
        self.name = name

    def show_help(self):
        print('这是游戏的帮助信息')

    def show_top_score(self):
        print(f'游戏的最高分:{Game.top_score}')

    def start_game(self):
        print(f'{self.name} 开始一局游戏', end='')
        score = random.randint(10, 100)  # 本次游戏的得分
        print(f'本次游戏得分{score}')
        if score > Game.top_score:
            Game.top_score = score  # 修改最高分
        else:
            pass


xw = Game('小王')
xw.start_game()
xw.show_top_score()

xw.start_game()
xw.show_top_score()

运行结果:

四、领养电子宠物

  1. 实现领养电子宠物功能
    1. 编写宠物类Dog(狗类)和Penguin(企鹅类)
    2. 创建宠物对象,输入领养的宠物信息并输出

     

     

实现代码如下:

class Pet:
    def __init__(self, name,animal_type,varieties):
        self.__name = name
        self.__animal_type = animal_type
        self.__varieties = varieties

    def set_name(self,name):
        self.__name = name

    def set_animal_type(self,animal_type):
        self.__animal_type = animal_type

    def set_varieties(self,varieties):
        self.__varieties = varieties

    def get_name(self):
        return self.__name

    def get_varieties(self):
        return self.__varieties

    def get_animal_type(self):
        return self.__animal_type


def main():
    print('欢迎您来到宠物店! ')
    pet_name = input('请输入要领养宠物的名字: ')
    pet_type = int(input('请选择要领养宠物的类型:(1、狗狗 2、企鹅)'))
    if pet_type == 1:
        print('狗狗')
        pet_varieties = int(input('请选择狗狗的品种:(1、聪明的拉布拉多犬 2、酷酷的雪娜瑞)'))
        if pet_varieties ==1:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '我是一只聪明的拉布拉多犬')
        else:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '我是一只酷酷的雪娜瑞')
    else:
        print('企鹅')
        pet_varieties = int(input('请选择企鹅的性别:(1、Q仔 2、Q妹)'))
        if pet_varieties ==1:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '性别是Q仔')
        else:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '性别是Q妹')

main()

运行结果:

 

五、优化电子宠物系统

新建一个基类:Pet(宠物类),实现用DogPenguin继承Pet

  1. 优化电子宠物系统
    1. 打印宠物信息
    2. 使用继承实现Dog类和Penguin

实现代码如下:

class Pet:
    def __init__(self, name,animal_type,varieties):
        self.__name = name
        self.__animal_type = animal_type
        self.__varieties = varieties

    def set_name(self,name):
        self.__name = name

    def set_animal_type(self,animal_type):
        self.__animal_type = animal_type

    def set_varieties(self,varieties):
        self.__varieties = varieties

    def get_name(self):
        return self.__name

    def get_varieties(self):
        return self.__varieties

    def get_animal_tpe(self):
        return self.__animal_type


def main():
    pet_name = input('请输入要领养宠物的名字: ')
    pet_type = int(input('请选择要领养宠物的类型:(1、狗狗 2、企鹅)'))
    if pet_type == 1:
        print('狗狗')
        pet_varieties = int(input('请选择狗狗的品种:(1、聪明的拉布拉多犬 2、酷酷的雪娜瑞)'))
        if pet_varieties ==1:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '我是一只聪明的拉布拉多犬')
        else:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '我是一只酷酷的雪娜瑞')
    else:
        print('企鹅')
        pet_varieties = int(input('请选择企鹅的性别:(1、Q仔 2、Q妹)'))
        if pet_varieties ==1:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '性别是Q仔')
        else:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '性别是Q妹')

main()

运行结果:

六、使用多态实现主人给宠物喂食

  1. 使用多态实现喂养宠物功能
  2. 增加宠物猫并喂食,其健康值增加4(给猫喂食一次,健康值+4

实现代码如下:

class Pet:
    def __init__(self, name,animal_type,varieties):
        self.__name = name
        self.__animal_type = animal_type
        self.__varieties = varieties

    def set_name(self,name):
        self.__name = name

    def set_animal_type(self,animal_type):
        self.__animal_type = animal_type

    def set_varieties(self,varieties):
        self.__varieties = varieties

    def get_name(self):
        return self.__name

    def get_varieties(self):
        return self.__varieties

    def get_animal_type(self):
        return self.__animal_type




def main():
    print('欢迎您来到宠物店! ')
    pet_name = input('请输入要领养宠物的名字: ')
    pet_type = int(input('请选择要领养宠物的类型:(1、狗狗 2、企鹅 3、猫猫)'))
    if pet_type == 1:
        print('狗狗')
        pet_varieties = int(input('请选择狗狗的品种:(1、聪明的拉布拉多犬 2、酷酷的雪娜瑞)'))
        if pet_varieties ==1:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '我是一只聪明的拉布拉多犬')
        else:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '我是一只酷酷的雪娜瑞')
    elif pet_type == 2:

        print('企鹅')
        pet_varieties = int(input('请选择企鹅的性别:(1、Q仔 2、Q妹)'))
        if pet_varieties ==1:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '性别是Q仔')
        else:

            pet_specs = Pet(pet_name, pet_type, pet_varieties)

            print('宠物的自白: ')
            print('我的名字叫 ', pet_specs.get_name(), '健康值是100', '和主人的亲密度是0', '性别是Q妹')

    else:
        print('猫猫')
        cat_varieties = int(input('请选择猫猫的性别:(1、公猫 2、母猫)'))
        cat_specs = Pet(pet_name, pet_type, cat_varieties)

        print('宠物的自白: ')
        print('我的名字叫 ', cat_specs.get_name(), '健康值是100', '和主人的亲密度是0', '我是一只菊花猫')

        test1 = str(input('是否给猫喂食?'))
        jkzhi = 100
        if test1 == '是':
            jkzhi =jkzhi+4
            print(jkzhi)
        else:
            print(jkzhi)

main()

运行结果:

猜你喜欢

转载自blog.csdn.net/qq_63010259/article/details/130612501
今日推荐