2013-02-06 35 views
0

新增python windows 7 python 3.3.0 我无法弄清楚如何返回函数参数值。一直在疯狂地环视 这是一个班级任务,但我确实有一个简单的脚本可以进入,但是即时拍摄可以推动我的自我。只需要知道我是否会向错误的方向发展。谢谢无法弄清楚如何返回函数参数值

def main(): 
    seat_a = 15.00 
    seat_b = 12.00 
    seat_c = 9.00 
    class_a(seat_a) 
    class_b(seat_b) 
    class_c(seat_c) 
    set_a = class_a(ticket_a) 
    set_b = class_b(ticket_b) 
    set_c = class_b(ticket_c) 
    result_a_b_c = set_a + set_b + set_c 
    print("The total income generated from all ticket sales is $ ", format(result_a_b_c,',.2f')) 

def class_a(ticket_a): 
    while True: 
     try: 
      ask_a = float(input("How many class A seat tickets were sold? ")) 
      total_a = ticket_a * (ask_a) 
      break 
     except ValueError: 
      print("That is not a valid number. Please try again.") 
      class_a(ticket_a) 
      break 
     total_a = class_a(ticket_a) 

def class_b(ticket_b): 
    while True: 
     try: 
      ask_b = float(input("How many class B seat tickets were sold? ")) 
      total_b = ticket_b * (ask_b) 
      break 
     except ValueError: 
      print("That is not a valid number. Please try again.") 
      class_b(ticket_b) 
      total_b = class_b(ticket_b) 
      break 

def class_c(ticket_c): 
    while True: 
     try: 
      ask_c = float(input("How many class C seat tickets were sold? ")) 
      total_c = ticket_c * ask_c 
      break 
     except ValueError: 
      print("That is not a valid number. Please try again.") 
      class_c(ticket_c) 
      total_c = class_c(ticket_c) 
      break 

main() 
+3

'高清加(ARG1,ARG2):返回ARG1 + arg2' – ICoffeeConsumer

+2

参见[第7.6节 “的'return'声明” 中* Python参考手册*的v5.3.3(HTTP://文档.python.org/3 /参考/ simple_stmts.html#的回报语句)。 – ruakh

+2

顺便说一句,除非我误解了你,否则你用“争论”一词是错误的。一个函数的“参数”就是你传递给它的东西。你得到的*它*是它的“回报价值”。 – ruakh

回答

1

首先,你的函数不返回任何东西。看看添加一个返回语句来传回一个值。其次,如果函数确实返回一个值,你想要将它赋值给一个变量,那么你的代码只需要调用该函数而不需要赋值。

例如,这个小程序将一个整数传递给一个函数,然后该函数将其翻倍并返回新的值,然后将其打印出来。

def double(x): 
    y = x * 2 
    return y 

z = double(2) 
print(z)