【项目任务】——在项目中练习
需要设计一个电子宠物系统,其中领养宠物功能的详细需求如下:
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类。
④:编写测试代码。
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}"
123456789101112131415161718192021222324252627282930313233343536373839class 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}"
1234567891011121314151617181920212223242526272829303132print(“欢迎来到宠物店!”)
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)
`
相关知识
Python脚本打造宠物小精灵之家
python桌面宠物软件下载
Python编程实现鸟类行为模拟与分类算法应用
Python编程实现鸟类行为模拟与属性定义的全面指南
【python】python制作 连连看 游戏脚本(一)
python定义一个dog类 类属性有名字
python编写程序模拟猫狗大战
python——is和==区别
如何使用PyQt5在Python中开发一个桌面宠物应用程序?
python爬取波奇宠物网宠物大全
网址: python宠物模拟 https://m.mcbbbk.com/newsview936128.html
上一篇: 佳友宠物医院(立新大道店) |
下一篇: 宠物系统重构与扩展 |