python宠物模拟

本文详细描述了一个宠物模拟系统的设计过程,涉及创建Dog和Penguin类,用于领养宠物,包括输入名称、选择类型、设置健康值和亲密度等属性。
摘要由CSDN通过智能技术生成

宠物模拟系统

题目

【项目任务】——在项目中练习

需要设计一个电子宠物系统,其中领养宠物功能的详细需求如下:

1、根据控制台提示,输入领养宠物的昵称。

2 、根据控制台提示,选择领养宠物的类型有两种选择:狗狗和企鹅。

3、如果类型选择狗狗,要选择狗狗的品种,有两种选择:“聪明的拉布多或者”、“酷酷的雪娜瑞”。

4、如果类型选择企鹅,要选择企鹅的性别:“Q仔”或Q妹。

5、所领养宠物的健康值默认是100,表示非常健康。

6、所领养宠物和主人的亲密度默认是0表示和主人还不熟悉。

7、在控制台打印出宠物信息,包括昵称、健康值、亲密度、品种或性别,表示领养成功。

【任务分析】

按照发现类、发现属性和发现方法的步骤完成设计。

我们可以通过在需求中找出名词的方式确定类和属性,找出动词的方式确定方法,并根据需要实现业务的相关程度进行筛选。

第一步:发现类。

需求中名词有控制台、宠物昵称、狗、企鹅、类型、品种、聪明的拉布拉多犬、酷酷的雪娜瑞、性别、Q仔、Q妹、健康值、亲密度和主人等。

根据仔细筛选,发现可以作为类的名词有宠物、狗狗、企鹅和人。本任务要实现领养宠物功能,主要用到两个类:狗狗(Dog)和企鹅(Penguin)。宠物和主人在完善设计和增加功能时再使用。

第二步:发现类中的属性

需求中动词主要有输入、选择、领养、打印等。某些明显与设计无关、不重要的词语可以直接忽略。通过仔细筛选,发现可作为属性的名词有昵称、健康值、亲密度、品种和性别。还有些名词是作为属性值存在的,例如聪明的应布拉多大、酷酷的娜瑞是品种的属性值。Q仔和Q妹是性别的属性值。

根据需求,定义狗狗类的属性有昵称(name),健康值(health),亲密度(love),品种(strain)。企鹅类的属性有昵称(name),健康值(health),亲密度(love),性别(sex)。狗狗和企鹅的其它某些属性,例如年龄,体重,颜色等与领养业务需求无关,不予设置。

第三步:发现类中的方法

通过仔细筛选,发现类的方法主要是打印宠物信息。狗狗和企鹅的方法主要是打印出自己的信息,取名为show()。至于狗狗睡觉,洗澡等行为,企鹅吃饭,游泳等行为,与领养业务需求无关,现在先不为其设定方法,在后续业务中若有需求再添加。

【实现步骤】

①:创建文件,并且命名。

②:编写Dog类。

③:编写Penguin类。

④:编写测试代码。

`class Dog: #定义dog类

def __init__ (self,name = "无名氏",strain = "聪明的拉布拉多",health = "100",love = "0"):
    self.__name = name
    self.__strain = strain
    self.health = health
    self.love = love



@property
def name(self):
    return  self.__name
@property
def strain(self):
    return  self.__strain
@property
def health(self):
    return  self.__health
@health.setter
def health(self,health):
    if health >= 1 and health <= 100:
        self.__health = health
    else:
        print("健康值应该在1至100之间,默认值是60")
        self.__health = 60
@property
def love(self):
    return self.__love

@love.setter
def love(self,love):
    if love >= 1 and love <= 100:
        self.__love = love
    else:
        print("亲密度应该在1至100之间,默认值是60")
        self.__love = 60


def __str__ (self):
    return f"名字:{self.__name},品种:{self.__strain},健康值:{self.health},亲密度:{self.love}"

class Penguin:
def init (self,name = “无名氏”,sex = “Q仔”,health = “100”,love = “0”):
self.__name = name
self.__sex = sex
self.health = health
self.love = love

@property
def name(self):
    return  self.__name
@property
def strain(self):
    return  self.__sex
@property
def health(self):
    return  self.__health
@health.setter
def health(self,health):
    if health >= 1 and health <= 100:
        self.__health = helth
    else:
        print("健康值应该在1至100之间,默认值是60")
        self.__health = 60

@property
def love(self):
    return self.__love

@love.setter
def love(self,love):
    if love >= 1 and love <= 100:
        self.__love = love
    else:
        print("亲密度应该在1至100之间,默认值是60")
        self.__love = 60


def __str__ (self):
    return f"名字:{self.__name},品种:{self.__sex},健康值:{self.health},亲密度:{self.love}"

print(“欢迎来到宠物店!”)
for i in range(100):
name = input(“请输入要领养宠物的名字:”)
z = int(input(“请选择领养的宠物类型:(1、狗狗2、企鹅)”))
if z == 1:
strain = int(input(“请选择狗狗的品种:(1、聪明的拉布拉多犬 2、酷酷的雪纳瑞)”))
if strain == 1:
strain = “聪明的拉布拉多”
elif strain == 2:
strain = “酷酷的雪纳瑞”
health = int(input(“请输入宠物的健康值”))
love = int(input(“请输入宠物的亲密值”))
dog = Dog(name = name ,strain = strain,health =health ,love = love)
print(dog)
elif z == 2:
sex= int(input(“请选择企鹅的姓别:(1、Q仔 2、Q妹)”))
if sex == 1:
sex = “Q仔”
elif sex == 2:
sex = “Q妹”
health = int(input(“请输入宠物的健康值”))
love = int(input(“请输入宠物的亲密值”))
penguin = Penguin(name=name, sex=sex, health=health, love=love)
print(penguin)

`

  • 17
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于 Python简单的人类与宠物模拟世界代码示例: ```python import random class Person: def __init__(self, name, age, gender, pet=None): self.name = name self.age = age self.gender = gender self.pet = pet def has_pet(self): return self.pet is not None def adopt_pet(self, pet): self.pet = pet def play_with_pet(self): if self.has_pet(): print(f"{self.name} plays with {self.pet.name}.") self.pet.play() else: print(f"{self.name} doesn't have a pet to play with.") class Pet: def __init__(self, name, species, mood=50): self.name = name self.species = species self.mood = mood def play(self): self.mood += random.randint(10, 20) print(f"{self.name} is happy!") def get_mood(self): return self.mood def __str__(self): return f"{self.name} ({self.species})" # 创建人类和宠物对象 person1 = Person("Alice", 25, "Female") person2 = Person("Bob", 30, "Male") pet1 = Pet("Charlie", "Dog") pet2 = Pet("Fluffy", "Cat") # Alice和Bob分别领养一只宠物 person1.adopt_pet(pet1) person2.adopt_pet(pet2) # Alice玩宠物 person1.play_with_pet() # Fluffy的心情 print(f"{pet2.name}'s mood is {pet2.get_mood()}.") ``` 这个简单的代码示例创建了两个类:`Person`和`Pet`。一个`Person`对象可以拥有一个`Pet`对象,可以通过`adopt_pet()`方法领养一只宠物,通过`play_with_pet()`方法和宠物玩耍。`Pet`对象有一个`play()`方法,可以增加心情值,另外还有一个`get_mood()`方法,用于获取当前心情值。 你可以根据自己的需求对代码进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值