我是python的新手,只是想知道为什么如果下面的代码不起作用 如果有人能指出错误是什么? 这是我得到的错误代码
x.withdraw(wd_amt)
^
SyntaxError: invalid syntax
代码:
class Customer(object):
def __init__(self, name, balance=0.0,dec):
self.name = name
self.balance = balance
self.dec = dec
#self.d_amt = d_amt
def withdraw(self, amount):
if amount > self.balance:
raise RuntimeError('Amount greater than available balance.')
self.balance -= amount
return self.balance
def deposit(self, amount):
self.balance += amount
return self.balance
user_name = raw_input("name?")
Bal_amount = int(raw_input("amount?"))
dec_1 = (raw_input("withdraw or deposit?"))
x = Customer(user_name,Bal_amount,dec_1)
def play():
if dec_1 == "withdraw":
wd_amt = int(raw_input('How much?')
x.withdraw(wd_amt)
print x.balance
elif dec_1 == "deposit":
dp_amt = int(raw_input('How much?')
x.deposit(dp_amt)
print x.balance
play()
答案 0 :(得分:0)
你有不平衡的括号:
wd_amt = int(raw_input('How much?')
和
dp_amt = int(raw_input('How much?')
我打算建议使用pyflakes
或pylint
来帮助您捕获这些内容,但它们也只是在下一行报告语法错误。
我建议将来捕获这些内容,当你遇到一个似乎没有意义的语法错误时,请始终查看前一行。一些编辑也可能通过语法高亮显示更明显。
当它不起作用时,开始注释掉行,从一个Python开始说错误是在。如果错误继续发生,则可能是一个问题。例如,如果我注释掉x.withdraw(wd_amt)
,则错误会移至print x.balance
。