2016-10-17 39 views
-4

我的python程序沒有運行。林肯定我缺少的東西,但我很確定我只是縮進錯了。任何人都可以借我一隻手嗎?謝謝!python縮進

def main(): 
 
    sales = getSales() 
 
    advancedPay = getAdvancedPay() 
 
    commRate = DetermineCommRate(sales) 
 
    pay = (sales * commRate) - advancedPay 
 
    print("The pay is $". format(pay, ",.2f"), sep="") 
 
    
 
if pay < 0: 
 
    print("The salesperson must reimburse") 
 
    print("the company") 
 

 
def getSales(): 
 
    monthlySales = float(input("Enter the monthly sales: ")) 
 
    return monthlySales 
 

 
def getAdvancedPay(): 
 
    print("Enter the amount of advanced pay or ") 
 
    print("Enter 0 if no advanced pay was given. ") 
 
    advancedPay - float(input("Advanced pay: ") 
 
    return advancedPay 
 
    
 

 
def DetermineCommRate 
 
    if sales < 10000: 
 
     rate = 0.10 
 
    elif sales >= 10000 and sales <= 14999.99: 
 
     rate = 0.12 
 
    elif sales >= 15000 and sales <= 17999.99: 
 
     rate = 0.14 
 
    elif sales >= 18000 and sales <= 21999.99: 
 
     rate = 0.16 
 
    else: 
 
     rate = 0.18 
 

 
    return rate 
 

 
main()

我的Python程序運行未啓用。林肯定我缺少的東西,但我很確定我只是縮進錯了。任何人都可以借我一隻手嗎?謝謝!

+0

'advancedPay語法錯誤運行 - 浮動(輸入(「高級薪酬:''''用'='替換'-'並添加一個關閉的零部件 –

+0

你有的另外一個問題是'def DetermineCommRate'寫得不對,你忘記了左括號和冒號=>'def DetermineCommRate():' – idjaw

+3

你的語法不對,請校對碼。 – TigerhawkT3

回答

1

從我所看到的,salesmain()一個局部變量,並且您試圖訪問其在DetermineCommRate,你在該函數

def DetermineCommRate(sales): 

的定義有語法錯誤目前,您將銷售傳遞給它,但不接受它。

而且,你的下面的行應縮進到在main()

if pay < 0: 
    print("The salesperson must reimburse") 
    print("the company") 

而在這行太

advancedPay = float(input("Advanced pay: ")) 
0

感謝您的意見;我刪除了無效的內容並繼續處理該程序。

你錯過了幾個語法錯誤。您需要關閉advancedPay輸入中的括號,完成DetermineCommRate的聲明,如果支付塊,則縮進,然後將該聲明(編號爲&的參數名稱)與使用(一個參數)進行協調。

最後一次打印時也存在格式問題。再次檢查示例並將規範修復爲打印支付

def main(): 
    sales = getSales() 
    advancedPay = getAdvancedPay() 
    commRate = DetermineCommRate(sales) 
    pay = (sales * commRate) - advancedPay 
    print("The pay is $ {0:8.2f}". format(pay), sep="") 

    if pay < 0: 
     print("The salesperson must reimburse") 
     print("the company") 

def getSales(): 
    monthlySales = float(input("Enter the monthly sales: ")) 
    return monthlySales 

def getAdvancedPay(): 
    print("Enter the amount of advanced pay or ") 
    print("Enter 0 if no advanced pay was given. ") 
    advancedPay = float(input("Advanced pay: ")) 
    return advancedPay 

def DetermineCommRate(sales): 
    if sales < 10000: 
     rate = 0.10 
    elif sales >= 10000 and sales <= 14999.99: 
     rate = 0.12 
    elif sales >= 15000 and sales <= 17999.99: 
     rate = 0.14 
    elif sales >= 18000 and sales <= 21999.99: 
     rate = 0.16 
    else: 
     rate = 0.18 

    return rate 

main() 
+0

即時通訊使用Python 3 –

+0

它的工作原理,但只有一個問題。當我輸入所有數字我得到輸出:: –

+0

「工資是$」但我沒有得到一個數字後 –