需要帮助在python中定义一个函数

时间:2014-10-31 17:44:54

标签: python

我需要编写一个具有循环验证的get_input函数,因此该数字不能小于0 这是该计划。香港专业教育学院使这成为一个全球性的功能,但我的导师告诉我这是错的。使get_input成为一个全局函数似乎有效,但我需要使用

的方法
def get_input():

get_input()

我一直将全局函数设置为get_input = 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()

1 个答案:

答案 0 :(得分: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")

然后继续你的程序