oop - 无法从我使用 oop 建立的银行取款
问题描述
所以我在 oop 中编写了一个代码,它可以让你将钱存入银行,也可以取款。我解决了可以存钱但无法从银行取款的部分。我会很感激一个固定的答案。谢谢!
class Bank:
def __init__(self,name,accountNumber,totalBalance):
self.name = name
self.accountNumber = {}
self.totalBalance = {}
def deposit(self):
print("What is your account number?")
x = input()
print("What balance are you depositing?")
y = input()
self.accountNumber[x] = y
print(self.accountNumber)
def withdraw(self):
print("What is your account number?")
s = int(input())
print("What balance are you withdrawing?")
f = int(input())
self.accountNumber[s] = self.accountNumber[s] - f
print(self.accountNumber)
Bank1 = Bank("MONEYYYYY",1234,53)
Bank1.deposit()
Bank1.withdraw()
如果您知道为什么它不起作用,那么如果您能告诉我原因并修复它,我将不胜感激,谢谢!
解决方案
您的解决方案设计还有其他问题,但要解决这个特定问题,您要从 fromself.accountNumber[s]
而不是 from中减去提款金额self.totalBalance
。您还在同一个错误字段中设置了存款金额。
class Bank:
def __init__(self,name,accountNumber,totalBalance):
self.name = name
self.accountNumber = {}
self.totalBalance = {}
def deposit(self):
print("What is your account number?")
x = input()
print("What balance are you depositing?")
y = input()
if self.totalBalance.has_key(x) == False:
self.totalBalance[x] = 0
self.totalBalance[x] += y
print(self.accountNumber)
def withdraw(self):
print("What is your account number?")
s = int(input())
print("What balance are you withdrawing?")
f = int(input())
if self.totalBalance.has_key(s) == False:
self.totalBalance[s] = 0
self.totalBalance[s] = self.totalBalance[s] - f
print(self.accountNumber)
Bank1 = Bank("MONEYYYYY",1234,53)
Bank1.deposit()
Bank1.withdraw()
推荐阅读
- elasticsearch - 如何在多个索引中只处理一个相同的文档(索引基于每天)
- arduino - 如何使用 SdFat 从 SD 卡中删除最旧的文件
- java - 如何为不同的测试上下文重用 JUnit 测试方法?
- kubernetes - 为什么 nginx ingress minikube 插件 hostPort 工作,但 hostPort 对任何其他插件都不起作用?
- javascript - 这两种说法有什么区别?
- unity3d - 如何知道点击了哪个按钮?(Unity/Hololens2/MRTK)
- c# - 如何在 RedirectToPage 中传递复杂对象
- javascript - 处理脚本 3
- android - Ionic4:绑定无法从外部设备工作
- leaflet - 为什么捕捉在 Leaflet 1.0.0 及更高版本上不起作用?