我需要编写一个具有循环验证的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()
答案 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")
然后继续你的程序