我是编码的新手,我正在使用Python 3.5.2进行一项任务,并且收到了'display_results not defined'错误。我把它放在错误的部分吗?
提前致谢。
hourly_pay_rate = 7.50
commission_rate = 0.05
withholding_rate = 0.25
def startup_message():
print('''This program calculates the salesperson's pay.
Five values are displayed.
Hourly pay, commission, gross pay, withholding, and net pay.\n''')
def main():
startup_message()
name = input('Enter name: ')
sales_amount = float(input('Enter sales amount: '))
hours_worked = float(input('Enter hours worked: '))
hourly_pay_amount = hours_worked * hourly_pay_rate
commission_amount = sales_amount * commission_rate
gross_pay = hourly_pay_rate + commission_rate
withholding = gross_pay * withholding_rate
net_pay = gross_pay - withholding
display_results#<-----'not defined' error for calculations
def display_results(): #(parameters)
print('Hourly pay amount is: ', \
format(hourly_pay_amount, ',.2f'))
print('Commission amount is: ', \
format(commission_amount, ',.2f'))
print('Gross pay is: ', \
format(gross_pay, ',.2f'))
print('Withholding amount is: ', \
format(withholding, ',.2f'))
print('Net pay is: ', \
format(net_pay, ',.2f'))
main()
input('\nPress ENTER to continue...')
答案 0 :(得分:1)
首先,要调用display_results
,您需要提供一组空的括号:
display_results()
您似乎也有缩进错误,因为您似乎打算从内部调用display_results()
调用main
:
def main():
startup_message()
# ...
net_pay = gross_pay - withholding
display_results()
如果没有缩进,您在定义display_results
之后立即尝试访问名称main
,而之前实际定义display_results
。
答案 1 :(得分:0)
你的sns.barplot(x="name", y="vals", data=df)
没有缩进。纠正缩进,它应该工作
display_result
答案 2 :(得分:0)
缩进并执行while (getchar() != '\n')
{
// do nothing - keep consuming input until end-of-line
}
函数。
()
答案 3 :(得分:0)
看看这个非常短的节目:
def main():
r = 2 + 2
show_result
def show_result():
print("The result of 2+2 is {}", format(r))
main()
此程序不起作用!! 但是,如果您可以修复此程序中的所有错误,您将了解如何修复较长示例中的大部分问题。
这是一个带注释的解决方案:
def main():
r = 2 + 2
show_result(r) # Must indent. Include brackets and pass the
# variable
def show_result(r): # Include a parameter list.
print("The result of 2+2 is: {}".format(r)) # format is a string method
main()
您需要缩进并将参数传递给display_results
并使用correct syntax for format strings。在你的情况下像:
print('Hourly pay amount is: {.2f}'.format(hourly_pay_amount))