Python 物件導向 老虎和羊問題詳解

2021-10-23 17:38:38 字數 2691 閱讀 5802

乙個動物園有十個房間,裡面有兩種動物,老虎、羊。老虎的體重是200斤,羊體重100斤。遊戲開始之前,在10個房間裡面,隨機

放入老虎和羊。遊戲這的目標是要把羊和老虎喂的越重越好。

遊戲開始後,系統隨機給出房間號。遊戲者開始必須弄清楚,每個房間是老虎還是羊,方法是敲房間門,裡面的動物都會叫,老虎叫聲『wow!!!』,

羊叫聲是『mie』。動物每叫一次體重減5斤。喂老虎應該輸入單詞meet,餵羊應該輸入單詞grass。喂對了體重加10斤。喂錯了。體重減少10斤

遊戲者需要強記每個房間的動物是什麼,以便不需要敲門就可以得知裡面的動物是什麼,從而該喂什麼。這樣不斷迴圈。遊戲2分鐘結束後。看看你喂的動物總體重多少

class

tiger

:#定義乙個老虎類

#靜態方法 這個類的所有例項化都是一樣的

classname =

'東北虎'

def__init__

(self)

:#初始化方法,有個引數有初始固定值

self.weight =

200def

eat(self,food)

:#定義乙個方法

if food ==

'meat'

: self.weight +=

10elif food ==

'grass'

: self.weight -=

10else

:pass

defjiao

(self)

:#定義乙個屬性

print

("wow~~~"

) self.weight -=

5class

sheep

: classname =

'喜羊羊'

def__init__

(self)

: self.weight =

100def

eat(self,food)

:if food ==

'meat'

: self.weight +=

10elif food ==

'grass'

: self.weight -=

10else

:pass

defjiao

(self)

:print

("mie~~~"

) self.weight -=

5class

room

:#定義乙個房間類,它有房號和動物兩種引數

def__init__

(self,num,animal)

: self.num = num

self.animal = animal

from random import randint

room_list =

#建乙個列表用來訪問每次迴圈獲取到的房間號和動物組合

for i in

range(1

,11):

if randint(1,

2)==1

:#隨機判斷

animal = tiger(

)#例項化乙個老虎

else

: animal = sheep(

)#例項化乙個羊

rm = room(i,animal)

#例項化乙個房間,傳入房間類需要的引數

#把迴圈每次得到的房間號和動物組合存到列表,因為rm的值每次迴圈後會清掉

import time

starttime = time.time(

)#獲取當前時間並存入starttime

while time.time(

)- starttime <15:

#15秒為測試時間,驗證程式是否編寫正確

room_num = randint(

0在這裡插入**片,9)

#隨機生成是個房間

fangjian = room_list[room_num]

#隨機使用乙個房間

a =input

(f'當前訪問的是號房間,請問是否需要敲門(y/n)'

)if a ==

'y':

fangjian.animal.jiao(

)#物件導向 房間類的例項化呼叫動物的屬性

# print(f'號房間的動物是,當前體重')

else

:pass

b =input

(f'請問需要餵食嗎?(y/n)'

)if b ==

'y':

c =input

(f'請選擇需要喂的食物種類:(meat/grass)'

)if c ==

'meat'

or c ==

'grass'

: fangjian.animal.eat(c)

else

:print

("您輸入的食物不對!"

)else

:pass

else

:for i in

range(10

):print

(f'號房間的動物是,當前體重'

)

python物件導向(類和物件)

物件導向程式設計的2個非常重要的概念 類和物件 物件是物件導向程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外乙個新的概念 類 類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於物件 賓士汽車 類 賓士smart 類 張三的那輛賓士smart 物件 狗...

Python 物件導向 類和物件

類 和 物件 是物件導向程式設計的 兩個 核心概念 類就相當於製造飛機時的圖紙,是乙個模板,是負責建立物件的 物件就相當於用圖紙製造的飛機 在開發過程中,應該先有類,再有物件 類中定義了什麼屬性和方法,物件中就有什麼屬性和方法,不可能多,也不可能少 在使用物件導向開發前,應該首先分析需求,確定一下,...

Python物件導向02 類和物件

類和物件是物件導向程式設計的 兩個 核心概念 類就相當於製造飛機時的圖紙,是乙個模板,是負責建立物件的 物件就相當於用圖紙製造的飛機 在程式開發中,應該先有類,再有物件 類中定義了什麼屬性和方法,物件中就有什麼屬性和方法,不可能多,也不可能少在使用面相物件開發前,應該首先分析需求,確定一下,程式中需...