2016-04-22 18 views
0

私はPythonには新しく、まだそれを掛けようとしています。私は次のコードで処理関数を変更しようとしています。その結果、ユーザーは、 "銀行"が記録している500ドルを上回る資金を引き出すことができません。誰かが助けてくれることを望んでいました。 500を超えるif文を入力しますか?Python:銀行引き出しのための最大設定

#Simple Bank Atm 
def main(): 
    PIN=7777;balance=500;pin=0;success=False 
    Pin=getInput(pin) 
    Pin,PIN,balance,success=processing(pin,PIN,balance,success) 
    Display(success,balance) 

#Input Function 
def getInput(pin): 
    pin=int(input(“Please enter your PIN:”)) 
    return pin 

#Processing Function 
def processing(pin,PIN,balance,success): 
    if pin==PIN: 
     success=True 
     amt=float(input(“How much would you like to withdraw?”)) 
     balance=balance-amt 
     return pin,PIN,balance,success 
    else: 
     success=false 
     return pin,PIN,balance,success 

答えて

0

これを行うには、if条件を使用できます。

if amt <= balance: #Can't withdraw over your current balance 
    balance -= amt 
else: 
    print("Error. Amount exceeds funds on record.") 

また、さておき、あなたのifelse条件内で同じものを返していると、これはあなたが本当に返却したいものであれば、それは両方でそれを持って冗長だ他のもの。あなただけの同じインデントレベル

0
def main(): 
    PIN=7777;balance=500;pin=0;success=False 
    Pin=getInput(pin) 
    Pin,PIN,balance,success=processing(pin,PIN,balance,success) 
    Display(success,balance) 

#Input Function 
def getInput(pin): 
    pin=int(input("Please enter your PIN:")) 
    return pin 

#Processing Function 
def processing(pin,PIN,balance,success): 
    if pin==PIN: 
     success=True 
     amt=float(input("How much would you like to withdraw?")) 
     if balance<amt: 
      print("Amount to draw is greater than balance.") 
      return pin,PIN,balance,false 
     balance=balance-amt 
     return pin,PIN,balance,success 
    else: 
     success=false 
     return pin,PIN,balance,success 
0

はいであなたのelse文の後に、それを持つことができます。 ifステートメントを使用する必要があります。これは金額を引き出す前に実行する必要があります(残高=残高 - amt)。

は、だから、このような何かを行うことができます:

if amt <= balance: 
    balance -= amt 
    return True 
else: 
    # do not change balance and stop withdrawal 
    return False 
関連する問題