Python 导致名称错误的原因:名称'';没有定义吗?

Python 导致名称错误的原因:名称'';没有定义吗?,python,Python,我有这些要求 我走了这么远: def main(): a_tickets_sold = int(input('How many A tickets were sold?: ')) b_tickets_sold = int(input('How many B tickets were sold?: ')) c_tickets_sold = int(input('How many C tickets were sold?: ')) d_tickets_sol

我有这些要求

我走了这么远:

def main():
     a_tickets_sold = int(input('How many A tickets were sold?: '))
     b_tickets_sold = int(input('How many B tickets were sold?: '))
     c_tickets_sold = int(input('How many C tickets were sold?: '))
     d_tickets_sold = int(input('How many D tickets were sold?: '))

def calculate_class_incomes():
    a_total = a_tickets_sold * 30
    b_total = b_tickets_sold * 30
    c_total = c_tickets_sold * 30
    d_total = d_tickets_sold * 30

main()
calculate_class_incomes()  

我得到了这个错误:NameError:name'a_tickets_selled'没有定义

您可以对代码执行类似的操作:

def main():
 a_tickets_sold = int(input('How many A tickets were sold?: '))
 b_tickets_sold = int(input('How many B tickets were sold?: '))
 c_tickets_sold = int(input('How many C tickets were sold?: '))
 d_tickets_sold = int(input('How many D tickets were sold?: '))

 a_income, b_income,c_income,d_income = calculate_class_incomes(a_tickets_sold ,b_tickets_sold ,c_tickets_sold ,d_tickets_sold )

def calculate_class_incomes(a_tickets_sold,b_tickets_sold ,c_tickets_sold ,d_tickets_sold):
 a_total = a_tickets_sold * 30
 b_total = b_tickets_sold * 20
 c_total = c_tickets_sold * 15
 d_total = d_tickets_sold * 10

 return a_total,b_total,c_total,d_total
试试这个

def main():
 a_tickets_sold = int(input('How many A tickets were sold?: '))
 b_tickets_sold = int(input('How many B tickets were sold?: '))
 c_tickets_sold = int(input('How many C tickets were sold?: '))
 d_tickets_sold = int(input('How many D tickets were sold?: '))
 return a_tickets_sold,b_tickets_sold,c_tickets_sold,d_tickets_sold

def show_total_income(a_total,b_total,c_total,d_total):
    print(sum([a_total,b_total,c_total,d_total]))

def calculate_class_incomes(a_tickets_sold,b_tickets_sold,c_tickets_sold,d_tickets_sold):
    a_total = a_tickets_sold * 30
    b_total = b_tickets_sold * 30
    c_total = c_tickets_sold * 30
    d_total = d_tickets_sold * 30   
    return show_total_income(a_total,b_total,c_total,d_total)

a_tickets_sold,b_tickets_sold,c_tickets_sold,d_tickets_sold = main()
calculate_class_incomes(a_tickets_sold,b_tickets_sold,c_tickets_sold,d_tickets_sold)

在主函数中,您将有4个变量。编译主函数后,这4个变量将返回并存储在各自的变量中,我们称之为主函数。然后这些变量将被传递到计算收入函数,在那里你可以很容易地使用这4个变量。

你有具体的问题吗?另请看。请告诉我们您在这里的真正问题是什么。我一直遇到这个错误:NameError:name'a_tickets\u selled'没有定义。您能为我添加一些解释吗?这太棒了,我真的很感激我如何添加show_total_income()我一直遇到错误,而我该如何添加show_total_income()函数?