Python之宠物系统

完整代码

#宠物类
class Pet:
    def __init__(self, name='无名氏', health=100, love=0):
        self.__name = name
        self.setHealth(health)
        self.setLove(love)

    def getName(self):
        return self.__name

    def getHealth(self):
        return self.__health

    def setHealth(self, health):

        if not (0 <= health <= 100):
            print("错误 健康值应该在0至100之间,已设置为默认值 60。")

            self.__health = 60
            return
        self.__health = health

    def getLove(self):
        return self.__love

    def setLove(self, love):
        if not (0 <= love <= 100):
            print("错误 亲密度应该在0至100之间,已设置为默认值10。")
            self.__love = 10
            return
        self.__love = love

    def __str__(self):
        return "宠物的自白:\n我的名字叫{},健康值是{},和主人的亲密度是{}。".format(
            self.getName(), self.getHealth(), self.getLove(), )
    #行为
    def eat(self):
        food=10
        if  self.getHealth() <+100:

            self.setHealth(self.getHealth()+ food)
            print(f"宠物吃了{food}点食物,现在的健康值是{self.getHealth()}。")
        else:
            print("宠物已经饱了,不能再吃了。")







class Dog(Pet):
    def __init__(self, name='无名氏', health=100, love=0, strain="聪明的拉布拉多犬"):
        super().__init__(name, health, love)
        self.__strain = strain

    def getStrain(self):
        return self.__strain

    def describe(self):
        return "我是一只{}".format(self.getStrain())

class Penguin(Pet):
    def __init__(self, name='无名氏', health=100, love=0, sex="Q仔"):
        super().__init__(name, health, love)
        self.__sex = sex

    def getSex(self):
        return self.__sex

    def describe(self):
        return "性别是{}".format(self.getSex())
class Cat(Pet):
    def __init__(self, name='无名氏', health=100, love=0, color="白色"):
        super().__init__(name, health, love)
        self.__color = color
    def getColor(self):
        return self.__color

    def describe(self):
        msg = super().__str__() + "我的颜色是{}。".format(self.getColor())
        return  msg
    def jump(self):
        if self.getHealth() >= 60:
            self.setHealth(self.getHealth()-10)
            print("{}跳跃了一下,现在的健康值是{}。".format(self.getName(),self.getHealth()))
        else:
            print("{}的健康值太低,无法跳跃。".format(self.getName()))
while True:
    print("欢迎您来到宠物店!")
    try:
        # 1、 输入宠物名称
        name = input("请输入要领养宠物的名字:")
        # 2、选择宠物类型
        type = input("请选择要领养的宠物类型:(1、狗狗 2、企鹅 3、猫猫)")
        if type == '1':
            # 2.1 如果是狗狗
            # 2.1.1.选择狗狗品种
            result = input("请选择狗狗的品种:(1.聪明的拉布拉多犬 2.酷酷的雪娜瑞)")
            if result == '1':
                strain = "聪明的拉布拉多犬"
            elif result == '2':
                strain = "酷酷的雪娜瑞"
            else:
                raise ValueError("无效的品种选择。")
            health = int(input("请输入狗狗的健康值(1~100之间):"))
            love = int(input("请输入狗狗的亲密度(1~100之间):"))
            # 2.1.2.创建狗狗对象并赋值
            dog = Dog(name, health, love, strain)
            # 2.1.3.输出狗狗信息
            print(dog)
            XingWei = input("请输入 1.喂食: ")
            if XingWei == '1':
                dog.eat()

        elif type == '2':
            # 2.2.如果是企鹅
            # 2.2.1.选择企鹅性别
            result = input("请选择企鹅的性别:(1、Q仔 2、Q妹)")
            if result == '1':
                sex = "Q仔"
            elif result == '2':
                sex = "Q妹"


            else:
                raise ValueError("无效的性别选择。")
            health = int(input("请输入企鹅的健康值(1~100之间):"))
            love = int(input("请输入企鹅的亲密度(1~100之间):"))
            # 2.2.2.创建企鹅对象并赋值
            pgn = Penguin(name, health, love, sex)
            # 2.2.3.输出企鹅信息
            print(pgn)
            XingWei = input("请输入 1.喂食: ")
            if XingWei == '1':
                pgn.eat()
        elif type == '3':
            # 2.3.如果是猫猫
            health = int(input("请输入狗狗的健康值(1~100之间):"))
            love = int(input("请输入狗狗的亲密度(1~100之间):"))
            # 2.3.1.选择猫猫颜色
            result = input("请选择猫猫的颜色:(1、白色 2、黑色 3、黄色)")
            if result == '1':
                color = "白色"
            elif result == '2':
                color = "黑色"
            elif result == '3':
                color = "黄色"
            else:
                raise ValueError("无效的颜色选择。")


            cat = Cat(name, health, love, color)
            print(cat)
            XingWei = input("请输入 1.喂食:  2跳跃: ")
            if XingWei == '1':
                cat.eat()
            elif XingWei == '2':
                cat.jump()



        else:
            raise ValueError("无效的宠物类型选择。")
    except ValueError as e:
        print("输入错误:", e)




谢谢阅读
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
隐藏
变装