2014-10-31 38 views
-3

我需要创建一个返回总金额的函数。问题是我不知道如何正确地做到这一点。我试图把一些代码,但我不相信它会返回一个我要找:挣扎着一个应该返回总金额的函数

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)") 

def get_input(currency): 
    currency = 0 
    if currency < 0: 
     print('Cannot have negative money') 
    else: 
     return currency 

def get_total(pennies, nickels, dimes, quarters): 
    (pennies * .01) + (nickels * .05) + (dimes * .10) + (quarters * .25) 

def get_dollars(pennies, nickels, dimes, quarters): 

main() 
+0

您的get_input函数每次都会返回零。 – ecline6 2014-10-31 21:35:17

+0

'get_dollars'甚至没有完成,它应该做什么?没有'get_input',它是'输入'为'python 3'或'raw_input'为'python 2' – 2014-10-31 21:45:11

+0

[ValueError:无效文字为int()与基地10不能找出原因](http ://stackoverflow.com/questions/26684834/valueerror-invalid-literal-for-int-with-base-10-cannot-figure-out-why) – Sasa 2014-11-01 09:41:04

回答

1

你的作品是不正确的,而不是get_input你应该使用raw_input

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

    print("You entered : ") 
    print("\tPennies : %s" % pennies) 
    print("\tNickels : %s" % nickels) 
    print("\tDimes : %s" % dimes) 
    print("\tQuarters : %s" % 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 = %s$" % total_value) 
    print("You have"+ str(dollars) + "dollars and"+ str(left_over_cents)+ "cent(s)") 

def get_input(currency): 
    currency = 0 
    if currency < 0: 
     print('Cannot have negative money') 
    else: 
     return currency 


def get_total(pennies, nickels, dimes, quarters): 
    return (float(pennies) * .01) + (float(nickels) * .05) + (float(dimes) * .10) + (float(quarters) * .25) 

def get_dollars(pennies, nickels, dimes, quarters): 
    return 1 

main() 

编辑:

"I need to create a function that returns a total of dollar amount."

return在功能失踪

上面的代码应该工作