要求:按照以下要求定義乙個遊樂園門票的類,並嘗試計算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物件,並輸出其體積。編譯並執行該類。試著改變求體積方法的訪問許可權,...