我們的教授給了我們一個為在線商店設定添加“返現”機制的問題。我們的任務是使用父類和子類來使用繼承。
目標:每購買 3 次后增加 50
到目前為止我所擁有的:
家長:
class Shop:
def __init__(self):
self.__balance = 0
def getBalance(self):
return self.__balance
def loadWallet(self, amount):
self.__balance = amount
def purchase(self, amount_val):
if amount_val <= self.__balance:
self.__balance -= amount_val
else:
print("Insufficient Funds")
孩子:
class ShopCashBack(Shop):
def __init__(self, base_val=0):
self.__numpurchase = base_val
Shop.__init__(self)
def getPurch(self):
return self.__numpurchase
def purchase(self, amount_val):
self.__numpurchase = 1
Shop.purchase(self, amount_val)
if self.__numpurchase % 3 == 0:
result = self.getBalance() 50
print(result)
輸入:
user = ShopCashBack()
user.loadWallet(5000)
user.purchase(299)
print(user.getBalance())
user.loadWallet(3000)
print(user.getBalance())
user.purchase(4990)
print(user.getBalance())
user.purchase(1607)
print(user.getBalance())
結果:
4701
7701
2711
1154
1104
期望結果:其中 1154 是 1104 50(第三次購買后的余額)
4701
7701
2711
1154
uj5u.com熱心網友回復:
你需要改變孩子的購買方法
由此:
if self.__numpurchase % 3 == 0:
result = self.getBalance() 50
print(result)
對此:
if self.__numpurchase % 3 == 0:
self.loadWallet(50)
因為你沒有做任何事情來平衡result = self.getBalance() 50平衡在這條線之后保持不變
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529473.html
標籤:Python班级if 语句方法属性
