Python解决缩进错误
我已经编写了以下代码,但是当我尝试运行它时,我得到了一个文件“C:\Users\Moses\Desktop\test.py”,第4行 def存款(自助): ^ 缩进错误:应为缩进块错误。我需要帮助Python解决缩进错误,python,Python,我已经编写了以下代码,但是当我尝试运行它时,我得到了一个文件“C:\Users\Moses\Desktop\test.py”,第4行 def存款(自助): ^ 缩进错误:应为缩进块错误。我需要帮助 class BankAccount(object): def withdraw(self): pass def deposit(self): pass 类别储蓄账户(银行账户): def\uuuuu init\uuuuuuuuuuuuuuuuu(自平衡=500.0): 自我平衡 de
class BankAccount(object):
def withdraw(self):
pass
def deposit(self):
pass
类别储蓄账户(银行账户):
def\uuuuu init\uuuuuuuuuuuuuuuuu(自平衡=500.0):
自我平衡
def存款(自身、存款金额):
自身余额+=存款金额
回归自我平衡
如果存款金额<0:
raise运行时错误('存款金额无效')
def提取(自身、提取金额):
自身余额-=提取金额
回归自我平衡
如果自平衡<500:
raise RUNTIMERROR('无法提取超过最低帐户余额')
回归自我平衡
如果提取金额>自身余额:
raise RUNTIMERROR('不能超过当前帐户余额提取')
回归自我平衡
如果提取金额<0:
raise RUNTIMERROR('提取金额无效')
类别当前金额(银行账户):
definit(自身,平衡=0.0):
自我平衡
def deposit(self,deposit_amount)
self.balance += deposit_amount
return self.balance
if amount < 0:
raise RuntimeError('Invalid deposit amount.')
return self.balance
def withdraw(self, withdraw_amount):
self.balance -= withdraw_amount
return self.balance
if withdwa_amount < 0:
raise RuntimeError('Invalid withdraw amount')
return self.balance
if withdwa_amount > self.balance:
raise RuntimeError('Cannot withdraw beyond the current account balance')
return self.balance
def存款(自身、存款金额)
自身余额+=存款金额
回归自我平衡
如果金额<0:
raise运行时错误('存款金额无效')
回归自我平衡
def提取(自身、提取金额):
自身余额-=提取金额
回归自我平衡
如果DWA_金额小于0:
raise RUNTIMERROR('提取金额无效')
回归自我平衡
如果使用DWA_金额>自身余额:
raise RUNTIMERROR('不能超过当前帐户余额提取')
回归自我平衡
我需要一些关于缩进误差的帮助,以了解它是什么以及如何解决它。我是python新手您的问题在于下面的函数定义;你不能只声明空函数,你需要给它们一些类型的主体
class BankAccount(object):
def withdraw(self):
pass
def deposit(self):
pass
另外,如果您直接复制粘贴了代码,那么看起来您没有使用足够的空间来缩进
i、 如果我复制粘贴行
def存款(自身):
它只有两个空格,Python使用缩进来表示代码块。您的缩进级别必须一致。选择制表符或一定数量的空格,并在任何地方使用 您还必须至少有一条语句,其中应包含块。如果必须,请使用
pass
语句不执行任何操作
class BankAccount(object):
def withdraw(self):
pass # Add this
def deposit(self):
pass # Add this
def other_function(self):
if 42 != 42:
raise EndOfTheWorldError("what")
需要进行许多更改
pass
def提取(自身):
通过:
如果自平衡<500:这是正确缩进且逻辑正确的代码。在向社区寻求支持之前,您必须阅读python编码指南
class BankAccount(object):
def withdraw(self, withdraw_amount):
pass
def deposit(self, deposit_amount):
pass
class SavingsAccount(BankAccount):
def __init__(self, balance=500.0):
self.balance = balance
def deposit(self, deposit_amount):
if deposit_amount < 0:
raise RuntimeError('Invalid deposit amount.')
self.balance += deposit_amount
return self.balance
def withdraw(self, withdraw_amount):
if self.balance < 500:
raise RuntimeError('Cannot withdraw beyond the minimum account balance')
if withdraw_amount > self.balance:
raise RuntimeError('Cannot withdraw beyond the current account balance')
if withdraw_amount < 0:
raise RuntimeError('Invalid withdraw amount.')
self.balance -= withdraw_amount
return self.balance
class CurrentAmount(BankAccount):
def __init__(self, balance=0.0):
self.balance = balance
def deposit(self,deposit_amount):
if deposit_amount < 0:
raise RuntimeError('Invalid deposit amount.')
self.balance += deposit_amount
return self.balance
def withdraw(self, withdraw_amount):
if withdraw_amount < 0:
raise RuntimeError('Invalid withdraw amount')
if withdraw_amount > self.balance:
raise RuntimeError('Cannot withdraw beyond the current account balance')
self.balance -= withdraw_amount
return self.balance
类别银行账户(对象):
def提取(自身、提取金额):
通过
def存款(自身、存款金额):
通过
类别储蓄账户(银行账户):
定义初始值(自平衡=500.0):
自我平衡
def存款(自身、存款金额):
如果存款金额<0:
raise运行时错误('存款金额无效')
自身余额+=存款金额
回归自我平衡
def提取(自身、提取金额):
如果自平衡<500:
raise RUNTIMERROR('无法提取超过最低帐户余额')
如果提取金额>自身余额:
raise RUNTIMERROR('不能超过当前帐户余额提取')
如果提取金额<0:
raise RUNTIMERROR('提取金额无效')
自身余额-=提取金额
回归自我平衡
类别当前金额(银行账户):
def __;初始(自身,平衡=0.0):
自我平衡
def存款(自身、存款金额):
如果存款金额<0:
raise运行时错误('存款金额无效')
自身余额+=存款金额
回归自我平衡
def提取(自身、提取金额):
如果提取金额<0:
raise RUNTIMERROR('提取金额无效')
如果提取金额>自身余额:
raise RUNTIMERROR('不能超过当前帐户余额提取')
自身余额-=提取金额
回归自我平衡
raise RUNTIMERROR(提取金额无效。
您丢失了一个右括号和一个冒号,毕竟if语句这里有很多错误:如果不缩进并写入一些代码(即使它只是通过
)。if
语句也需要缩进和冒号(:
)。您的Raise
上也有多处缺少引号和偏执。在Raise
ing之后return
ing没有意义,因为您永远不会得到缩进错误:unindent与任何外部缩进级别不匹配…您的意思是,它们在我提供的代码处都应该具有相同的间距lookded。您需要缩进类、函数或控制流语句(例如,if
)的主体。您的一些if
语句后也缺少冒号。我建议您从一个非常简单的“hello world”开始当你越来越熟悉的时候,编写程序并添加代码结构。编写一大堆坏代码却不起作用,然后让互联网帮你修复,这是学习一门新语言的可怕方式。
class BankAccount(object):
def withdraw(self, withdraw_amount):
pass
def deposit(self, deposit_amount):
pass
class SavingsAccount(BankAccount):
def __init__(self, balance=500.0):
self.balance = balance
def deposit(self, deposit_amount):
if deposit_amount < 0:
raise RuntimeError('Invalid deposit amount.')
self.balance += deposit_amount
return self.balance
def withdraw(self, withdraw_amount):
if self.balance < 500:
raise RuntimeError('Cannot withdraw beyond the minimum account balance')
if withdraw_amount > self.balance:
raise RuntimeError('Cannot withdraw beyond the current account balance')
if withdraw_amount < 0:
raise RuntimeError('Invalid withdraw amount.')
self.balance -= withdraw_amount
return self.balance
class CurrentAmount(BankAccount):
def __init__(self, balance=0.0):
self.balance = balance
def deposit(self,deposit_amount):
if deposit_amount < 0:
raise RuntimeError('Invalid deposit amount.')
self.balance += deposit_amount
return self.balance
def withdraw(self, withdraw_amount):
if withdraw_amount < 0:
raise RuntimeError('Invalid withdraw amount')
if withdraw_amount > self.balance:
raise RuntimeError('Cannot withdraw beyond the current account balance')
self.balance -= withdraw_amount
return self.balance