首页 > 其他分享 >喂动物 老虎和羊

喂动物 老虎和羊

时间:2023-07-18 18:13:10浏览次数:27  
标签:__ weight self 老虎 动物 animal ._ def

import random


# 动物类
class Animal:
def __init__(self, animal_type, weight, cries, food):
self._animal_type = animal_type
self._weight = weight
self._cries = cries
self._food = food
def getWeight(self):
print(f"{self._animal_type}的体重是{self._weight}")
return self._weight

def eat(self, food):

if self._food == food:
self._weight += 10
else:
self._weight -= 10
print(f"{self._animal_type}吃了{food}后,当前体重为{self._weight}")
return self._weight

def cries(self):

self._weight -= 5
print(f"{self._animal_type}发出了{self._cries}的叫声,当前体重为{self._weight}")
return self._weight




# 老虎类
class Tiger(Animal):
def __init__(self):
super().__init__("老虎", 200, "wow", "肉")


# 羊类
class Sheep(Animal):
def __init__(self):
super().__init__("羊", 100, "mie", "草")


# 房间类
class Room:
def __init__(self):
self._animals = []

def putAnimal(self, animal):
self._animals.append(animal)

def getAnimals(self):
return self._animals


# 饲养员类
class Zookeeper:
def __init__(self):
self._rooms = []

def putAnimalInRooms(self):
for _ in range(10):
num = random.randint(1, 2)
if num == 1:
animal = Tiger()
else:
animal = Sheep()
room = Room()
room.putAnimal(animal)
self._rooms.append(room)

def feedAnimals(self):
count=0
for room in self._rooms:
count += 1
print(f'第{count}个房间')
animals = room.getAnimals()
for animal in animals:
animal.getWeight()
animal.cries()
food = animal._food
animal.eat(food)
animal.getWeight()



zookeeper = Zookeeper()
zookeeper.putAnimalInRooms()
zookeeper.feedAnimals()

标签:__,weight,self,老虎,动物,animal,._,def
From: https://www.cnblogs.com/haha1988/p/17563779.html

相关文章

  • 【题解】 [APIO2007] 动物园
    目录题目链接原题描述题目描述输入格式输出格式样例#1样例输入#1样例输出#1样例#2样例输入#2样例输出#2提示题意概括思路历程1.与环相关2.设计状态代码实现题目链接原题描述[APIO2007]动物园题目描述新建的圆形动物园是亚太地区的骄傲。圆形动物园坐落于太平洋的一个......
  • FX110网:TigerWit老虎外汇口碑极差,建议投资者们远离!
    早在2021年,FX110就提醒过大家要远离TigerWit老虎外汇,FX110也陆续收到多位用户反馈,称TigerWit老虎不能出金,客服失联以及强制平仓等异常操作。然而截止到现在仍有不明真相的投资者在TigerWit老虎外汇进行投资,那到底是什么情况呢?事情经过2021年5月以来,陆续收到用户投诉:用户A 在T......
  • 【活动访谈】发力数字基座 推动物联创新—航天科技控股集团AIRIOT4.0平台发布会活动专
     近日,由航天科技控股集团股份有限公司主办的“数字基座智慧物联—AIRIOT4.0平台发布会”在北京圆满落幕。航天三院科技委总工程师王连宝应邀出席本次会议并接受媒体采访,共同参与访谈的还有AIRIOT产品研发创始人、航天科技控股集团股份有限公司智慧物联事业部总经理田淼,两位就......
  • Luogu P2375 [NOI2014] 动物园
    [NOI2014]动物园题目描述近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习算法。某天,园长给动物们讲解KMP算法。园长:“对于一个字符串\(S\),它......
  • Python“制作”midi音乐“两只老虎”
    从网上找了很多谱子,可惜没有音乐细胞看不太懂,根据自己的理解改了好几遍,还是听不出来“两只老虎”的感觉,于是在标题上加了双引号。这样的话就只能了解本文思路了,算是抛砖引玉吧,重点是Python标准库winsound的Beep()函数可以发出37到32767赫兹之间频率的声音,其第二个参数为发声时长。f......
  • [NOI2014]动物园
    [NOI2014]动物园这题看题目描述就知道一定是跟KMP扯上关系了。首先,如果不考虑长度超过\(\dfrac{1}{2}\)的限制的话,那么就很简单,每次求出一个新的\(ne_i\)时,如下图所示图中红色的表示目前对于前\(i\)个字符来说,最长公共前后缀为红色部分,因为两个红色部分中一定都有前后......
  • 动物园
    动物园这道题的背景有些牵强,其实\(q_i\)完全没有用。首先,如果《饲养指南》中提到的规则在动物园已有的动物中存在,那么这种饲料一定会购买,那么就可以养\(p_i\)位为\(0/1\)都可以。但是如果动物园已有的动物中不存在,那么如果新动物\(p_i=1\)必定是要买新的饲料,那么不符合......
  • 已经996了,动物们不应该两班倒么
       一天工作8小时,一周5天班,是每个程序猿乃至所有上班族的梦想吧!    国家统计局的数据显示,全国企业就业人员周平均工作时间为46小时,比上月增加0.1小时。数据一出,网友就炸了:    这是谁统计的?你站出来我保证不打你。有时要干到晚上十一二点,没有周末、法定节假日不休的请......
  • 软件开发方法动物园
    这里总结了1970年以来的软件开发方法,这些开发方法的某些特质与动物园的某些动物类似哦!,这些开发方法的某些特质与动物园的某些动物类似哦!Waterfall–1970瀑布模型是一种连续的软件开发过程……,它使得开发从需求分析、设计、实施(验证)、集成、整合和维护阶段逐步发......
  • 动物园
    动物园/*cnt代表匹配到的位置在这里的时候,已经包含匹配好的数量直接将第一个的值赋值为1就可以了这里是采取匹配两次的方法,第一次求ne数组并初始化cnt第二次是确保匹配的长度不会过大,也就是只有前面i/2个元素进行匹配,时间复杂度是o(n)两次匹配,从而确保范围*/#include<b......