Python function/argument 'not defined' 错误
Python function/argument 'not defined' error
我是编码的新手,正在 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...')
您的 display_result
未缩进。更正缩进,它应该可以工作
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
首先,要调用display_results
,您需要提供一组空括号:
display_results()
您似乎也有缩进错误,因为您似乎打算从 内部调用 display_results()
对 main
的调用:
def main():
startup_message()
# ...
net_pay = gross_pay - withholding
display_results()
如果没有缩进,您试图在定义 main
后立即访问名称 display_results
,但 在 之前您实际上定义了 display_results
.
缩进并执行 ()
函数。
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 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))
我是编码的新手,正在 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...')
您的 display_result
未缩进。更正缩进,它应该可以工作
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
首先,要调用display_results
,您需要提供一组空括号:
display_results()
您似乎也有缩进错误,因为您似乎打算从 内部调用 display_results()
对 main
的调用:
def main():
startup_message()
# ...
net_pay = gross_pay - withholding
display_results()
如果没有缩进,您试图在定义 main
后立即访问名称 display_results
,但 在 之前您实际上定义了 display_results
.
缩进并执行 ()
函数。
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 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))