1.自定義乙個 fruit 類:該類有乙個 類屬性: identify,有兩個物件屬性: name,price,乙個類方法: get_identify,乙個物件方法:get_total_price(num):列印『%s個%s值%s錢』,乙個靜態方法:packing(*fruits)
class fruit:
identify = 'jeff水果公司'
def __init__(self, name, price):
self.name = name
self.price = price
@classmethod
def get_identify(cls):
return cls.identify
def get_total_price(self, num):
print("%s個%s值%s錢" % (num, self.name, str(self.price * int(num))))
@staticmethod
def packing(*fruits):
dic = {}
for i in fruits:
if len(i.name) == 3:
if i.name[1:3] not in dic:
dic[i.name[1:3]] = 1
else:
dic[i.name[1:3]] += 1
else:
if i.name not in dic:
dic[i.name] = 1
else:
dic[i.name] += 1
res = ""
for k, v in dic.items():
res += "%s個%s" % (str(v), k)
print("一箱裝了%s" % res)
yellow_banana = fruit("黃香蕉", 8)
# print(fruit.get_identify())
2.自定義乙個 person 類,該類物件具有 name、weight、height、***,
– 對name屬性進行封裝,但是外界任然可以訪問name以及設定name
– 有乙個方法屬性bmi(標準體重),可以獲取乙個人的bmi,bmi唯讀不可寫,bmi計算規則
– 男:(身高cm-80)× 70﹪ | 女:(身高cm-70)× 60﹪
class person:
def __init__(self, name, weight, height, ***):
self.__name = name
self.weight = weight
self.height = height
self.*** = ***
@property
def name(self):
return self.__name
@name.setter
def name(self, val):
self.__name = val
@property #封裝成乙個屬性
def bmi(self):
if self.*** == "男":
return (self.height - 80) * 0.7
if self.*** == "女":
return (self.height - 70) * 0.6
p1 = person("jeff", 135, 175, "男")
print(p1.name)
print(p1.bmi)
拓展:
用物件導向實現 植物大戰殭屍遊戲
python書中練習題 python練習題
1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...
python的練習題 Python練習題
1 使用while迴圈輸入1 2 3 4 5 6 8 9 10 i 0while i 10 i i 1 if i 7 continue print i 結果 e python python python test.py1 2 求1 100的所有數的和 i 0sum 0 while i 100 i 1...
C語言練習題 9
1 1 分析程式,寫出輸出結果?char ptr if ptr char malloc 0 null puts got a null pointer else puts got a valid pointer 會輸出got a valid pointer。原因 malloc 0 會返回乙個特別的可以...