我是Python的初学者,我正忙着尝试让这个程序运行起来。我需要将局部变量传递给其他模块,我已尝试过多种方法,但我无法让它工作。这只是一个计算佣金的极其简单的程序。我花了好几个小时试图让它发挥作用。我正在使用最新版本的Python。
import os
def main():
input_salesperson_data()
commission = calculate_commission(sales_amount)
determine_bonus(years_worked, commission)
output_commission(name, commission)
def input_salesperson_data():
name = (input("\n\t\tWhat is the full name of the salesperson: "))
sales_amount = float(input("\n\t\tWhat is the sales amount of the salesperson: "))
years_worked = int (input("\n\t\tHow many years has the salesperson worked for the company: "))
return(name, sales_amount, years_worked)
def calculate_commission(sales_amount):
commission_rate1 = 0.15
commission_rate2 = 0.25
commission_rate3 = 0.30
if sales_amount <= 20000:
commission = sales_amount * commission_rate1
elif sales_amount > 20000 and sales_amount <= 40000:
commission = sales_amount * commission_rate2
else:
commission = sales_amount * commission_rate3
return(commission)
def determine_bonus(sales_amount, years_worked, commission):
if years_worked > 20:
commission *= 2
return(commission)
def output_commission(name, commission):
os.system("cls")
print("\n\n\t\t\t SALESPERSON COMMISSION REPORT")
print("\n\t\t\tSalesperson Name: ", name)
print("\t\t\tCommission Amount: ", format(commission, ',.2f'))
input("\n\t\tPress enter to exit...")
os._exit(1)
main()
答案 0 :(得分:0)
def main():
information = input_salesperson_data()
commission = calculate_commission(information[1])
determine_bonus(information[2], commission)
output_commission(information[0], commission)
在python中,变量的范围包含在函数中;但是,在input_salesperson_data()
中,您将返回一个元组,但不会保存它。 information
会保存input_salesperson_data()
返回的内容,您可以访问上面显示的内容。
此外,在calculate_commission()
中,您可以简单地返回commission
。此外,您无需手动退出程序。
最后,改变:
def determine_bonus(sales_amount, years_worked, commission):
到
def determine_bonus(years_worked, commission):
因为sales_amount
完全不相关。