我的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 :(得分:1)
从我所看到的情况来看,sales
是main()
中的一个局部变量,您试图在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()