如何从继承中的二维列表中获取总值?
How to get the total value from a 2D list in inheritance?
我的 objective:通过添加方法 regional_total 扩展 RegionalBank class,该方法 returns 保存在该地区所有银行中的总金额。
我的问题:如何将二维列表的每个值放在实例 RegionalBank 的参数上?
# Do not alter this code
import sys
strings = [l.split(",") for l in sys.argv[1].split("*")]
accounts = [[int(n) for n in s] for s in strings]
class Bank:
def __init__(self, name, customers, accounts):
self.name = name
self.customers = customers
self.accounts = accounts
def branch_total(self, accounts):
total = 0
for account in accounts:
total += account
return total
# Write your code here
accounts = [
[10000, 13000, 22000],
[30000, 7000, 19000],
[15000, 23000, 31000]
]
class RegionalBank(Bank):
def __init__(self, name, customers, accounts):
super().__init__(name, customers, accounts)
def regional_total(self, accounts):
return super().branch_total(accounts)
for row,col in accounts:
print( accounts[rows][col] )
RBank1 = RegionalBank("Regional Bank A", 132, accounts)
RBank1.regional_total(accounts)
将您的 regional_total 函数替换为:
def regional_total(self):
total = 0
for region in self.accounts:
for account in region:
total += account
return total
最后这样称呼:
RBank1 = RegionalBank("Regional Bank A", 132, accounts)
print(RBank1.regional_total())
说明:银行的账户属性(你通常调用class属性的变量,而参数是函数或class构造函数的输入) class是一个一维列表,但是RegionalBank的账户属性 class是一个二维列表(虽然它们的名字相同),因为你只是保存账户,不管它是什么维度是。
我的 objective:通过添加方法 regional_total 扩展 RegionalBank class,该方法 returns 保存在该地区所有银行中的总金额。
我的问题:如何将二维列表的每个值放在实例 RegionalBank 的参数上?
# Do not alter this code
import sys
strings = [l.split(",") for l in sys.argv[1].split("*")]
accounts = [[int(n) for n in s] for s in strings]
class Bank:
def __init__(self, name, customers, accounts):
self.name = name
self.customers = customers
self.accounts = accounts
def branch_total(self, accounts):
total = 0
for account in accounts:
total += account
return total
# Write your code here
accounts = [
[10000, 13000, 22000],
[30000, 7000, 19000],
[15000, 23000, 31000]
]
class RegionalBank(Bank):
def __init__(self, name, customers, accounts):
super().__init__(name, customers, accounts)
def regional_total(self, accounts):
return super().branch_total(accounts)
for row,col in accounts:
print( accounts[rows][col] )
RBank1 = RegionalBank("Regional Bank A", 132, accounts)
RBank1.regional_total(accounts)
将您的 regional_total 函数替换为:
def regional_total(self):
total = 0
for region in self.accounts:
for account in region:
total += account
return total
最后这样称呼:
RBank1 = RegionalBank("Regional Bank A", 132, accounts)
print(RBank1.regional_total())
说明:银行的账户属性(你通常调用class属性的变量,而参数是函数或class构造函数的输入) class是一个一维列表,但是RegionalBank的账户属性 class是一个二维列表(虽然它们的名字相同),因为你只是保存账户,不管它是什么维度是。