python设计一个动物类_python面向对象 动物园 例题
一個動物園有十個房間,里面有兩種動物,老虎、羊。老虎的體重是200斤,羊體重100斤。游戲開始之前,在10個房間里面,隨機
放入老虎和羊。游戲這的目標是要把羊和老虎喂的越重越好。
游戲開始后,系統隨機給出房間號。游戲者開始必須弄清楚,每個房間是老虎還是羊,方法是敲房間門,里面的動物都會叫,老虎叫聲‘wow!!!’,
羊叫聲是‘mie’。動物每叫一次體重減5斤。喂老虎應該輸入單詞meet,喂羊應該輸入單詞grass。喂對了體重加10斤。喂錯了。體重減少10斤
游戲者需要強記每個房間的動物是什么,以便不需要敲門就可以得知里面的動物是什么,從而該喂什么。這樣不斷循環。游戲2分鐘結束后。看看你喂的動物總體重多少
面向對象:
#定義 類 使用 class 關鍵字
class Tiger():
#靜態屬性
classname = '老虎'
#實例屬性
def __init__(self,weight= 200):
#self代表實例對象本身
self.weight = weight
#老虎叫聲,實例方法
def jiao(self):
print("wow!!!")
self.weight -= 5
#喂食
def eat(self,tt):
if tt == 'meet':
self.weight += 10
elif tt == 'grass':
self.weight -= 10
class Sheep():
#靜態屬性
classname = '喜羊羊'
#實例屬性
def __init__(self,weight= 100):
#self代表實例對象本身
self.weight = weight
#老虎叫聲,實例方法
def jiao(self):
print("mie!!!")
self.weight -= 5
#喂食
def eat(self,tt):
if tt == 'meet':
self.weight -= 10
elif tt == 'grass':
self.weight += 10
class Room():
def __init__(self,room_num,animal):
self.room_num = room_num
self.animal = animal
from random import randint
rooms = []
#實例化10個房間對象
for one in range(0,10):
if randint(0,1) == 1:
ani = Tiger()
else:
ani = Sheep()
#對象的組合
aaa = Room(one,ani)
#實例化的10個房間,添加到列表中
rooms.append(aaa)
import time
ss = time.time()
while True:
sss = time.time()
if sss - ss > 20:
print("游戲結束")
for idx,room in enumerate(rooms):
print("房間:%s" %(idx+1),room.animal.classname,room.animal.weight)
#print(f"{idx+ 1}的動物為{room.animal.classname}體重是{room.animal.wieht}")
break
#隨機出現1到10作為列表下標
room_no = randint(1, 10)
room = rooms[room_no-1]
mm = input("我們來到了房間:%s,要敲門嗎?[y/n]" %room_no)
if mm == 'y':
room.animal.jiao()
yy = input("請喂食:")
room.animal.eat(yy)
總結
以上是生活随笔為你收集整理的python设计一个动物类_python面向对象 动物园 例题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python import_Python
- 下一篇: 工行车主信用卡调额