2014-10-31 41 views
-3

我需要编写一个get_input函数,它具有循环验证,因此编号不能小于0 这是程序。我做了这个全球功能,但我的老师告诉我这是错误的。制作get_input一个全球性的功能似乎工作,但我需要使用需要帮助在python中定义一个函数

def get_input(): 

get_input() 

香港专业教育学院的手段一直是全球功能设置为get_input =输入,只是因为我不知道怎么做我上面贴无歌厅错误“全局名称未定义”。

任何帮助,将不胜感激

get_input = input 

def main(): 
    pennies = get_input("Enter pennies : ") 
    nickels = get_input("Enter nickels : ") 
    dimes = get_input("Enter dimes : ") 
    quarters = get_input("Enter quarters : ") 

    print("You entered : ") 
    print("\tPennies : " , pennies) 
    print("\tNickels : " , nickels) 
    print("\tDimes : " , dimes) 
    print("\tQuarters : " , quarters) 


    total_value = get_total(pennies, nickels, dimes, quarters) 
    dollars = get_dollars(pennies, nickels, dimes, quarters) 
    left_over_cents = get_left_over_cents(pennies, nickels, dimes, quarters) 

    print("Total = $", total_value, sep="") 
    print("You have", dollars, "dollars and", left_over_cents, "cent(s)") 

main() 
+0

请出示您的尝试之一以上,我们将能够帮助你。 – 2014-10-31 17:47:19

+0

那么,哪里*是你的'get_input'的定义?您发布的内容中没有语法错误。您可能会发现[this](http://stackoverflow.com/q/23294658/3001761)有用。 – jonrsharpe 2014-10-31 17:47:22

+0

你已经添加了更多的解释,但它仍然不清楚你定义'get_input'的位置。如果你可以发布整个程序,包括'get_input'的定义,会更容易。 – Stuart 2014-10-31 17:55:50

回答

1

看起来你只是需要把你的raw_input所有的报表功能get_input里面。

def get_input(currency): 
    currency = -1.0  
    while currency < 0: 
     try: 
      currency = float(raw_input("Enter %s: ", % (currency))) 
     except ValueError: 
      print "Invalid input!" 
      currency = -1.0 
      continue 
     if currency < 0: 
      print "Can't have negative money!" 
     else: 
      return currency 

def main(): 
    pennies = get_input("pennies") 
    nickles= get_input("nickles") 
    dimes= get_input("dimes") 
    quarters= get_input("quarters") 

然后等你的程序

+0

线上的语法错误currency = float(raw_input(“Enter%s:”,%(currency))) – Joe 2014-10-31 20:10:14

+0

我是从内存中写出来的。拿出那个逗号,它应该没问题。 – anon 2014-10-31 21:01:25