python上的缩进

时间:2016-10-17 23:17:29

标签: python modular

我的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程序没有运行。我确定我错过了一些东西,但我很确定我只是错了。任何人都可以帮我一把吗?谢谢!

2 个答案:

答案 0 :(得分:1)

从我所看到的情况来看,salesmain()中的一个局部变量,您试图在DetermineCommRate中访问它,并且您在定义中有语法错误功能

def DetermineCommRate(sales):

目前,您正在向其传递销售,但不接受销售。

此外,您的以下行应缩进以在main()

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

此行中的语法错误

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

答案 1 :(得分:0)

感谢您的评论;我删除了无效的东西并继续处理该程序。

您遗漏了几个语法错误。您需要在advancedPay的输入中关闭括号,完成DetermineCommRate的声明,缩进 if pay 块,然后使用use(一个参数)协调该声明(params的数字和名称) )。

最终打印时也存在格式问题。再次检查示例并修复规范以打印支付

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()