2016-10-17 37 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

“工资是$”但我没有得到一个数字后 –