定義乙個遊樂園門票的類

2021-07-25 20:09:41 字數 1728 閱讀 2974

要求:按照以下要求定義乙個遊樂園門票的類,並嘗試計算2個**+1個小孩平日票價。

(1)平日票價100元

(2)週末票價為平日的120%

(3)兒童半票。

# -*- coding: utf-8 -*-

class

ticket:

def__init__

(self,time,adult_number,child_number):

self.time=time

self.adult_number=int(adult_number)

self.child_number=int(child_number)

defget_price

(self):

if self.time=="weekday":

adult_price=120

child_price=60

if self.time=="workday":

adult_price=100

child_price=50

total_price=self.adult_number*adult_price+self.child_number*child_price

print("當%s去公園時,%d個**和%d個小孩的票價是:%d" %(self.time,self.adult_number,self.child_number,total_price) )

adult_number=int(input("請輸入**數:"))

child_number=int(input("請輸入小孩數:"))

t=ticket(time,adult_number,child_number)

t.get_price()

問題:這樣程式設計是可以,區分了**和小孩。這樣程式設計雖然可以,但是沒有充分使用類。類是高度抽象的,此處類應該可以涵蓋**和小孩。因此,參考鏈結,修改**。

# -*- coding: utf-8 -*-

class

ticket:

def__init__

(self,workday=true,adult=true):

self.price=100

if workday:

self.ratio=1

else:

self.ratio=1.2

if adult:

self.discount=1

else:

self.discount=0.5

defget_price

(self,num):

return self.price*self.ratio*self.discount*num

adult_1=ticket(workday=true,adult=true)

child_1=ticket(workday=true,adult=false)

print("2個**+1個小孩平日票價為:%.2f" %(adult_1.get_price(2)+child_1.get_price(1)))

adult_2=ticket(workday=false,adult=true)

child_2=ticket(workday=false,adult=false)

print("2個**+1個小孩週末票價為:%.2f" %(adult_2.get_price(2)+child_2.get_price(1)))

定義乙個類

定義乙個類 當你宣告乙個類,你需要列出物件應有的所有變數和所有函式 被稱為屬性和方法.3.1.1中顯示了乙個類的構成.注意在大括號 內你只能宣告變數或者函式.3.1.2中顯示了如何在乙個類中定義三個屬性和兩個方法.1.class name extends another class 2.name n...

定義乙個CPU類

定義乙個cpu類,包含等級 rank 頻率 frequency 電壓 voltage 等屬性,有兩個共有成員函式run stop。其中,rank為列舉型別定義為enum cpu ranl,frequency為單位是mhz的整數,voltage為浮點型的電壓值。觀察建構函式和析構函式的呼叫順序。inc...

定義乙個圓類 Circle ,

定義乙個圓類 circle 其所在的包為bzu.info.software 定義乙個圓柱類cylinder,其所在的包為bzu.info.com 定義乙個主類a,其所在的包也為bzu.info.com,在a中生成乙個cylinder物件,並輸出其體積。編譯並執行該類。試著改變求體積方法的訪問許可權,...