2014-11-05 12 views
0

當我運行我的程序時,它會運行,但是當我想要看到總輸入時,我會得到 「total = $ none」,我不知道它爲什麼會這樣說?爲什麼我的程序不會加上我在python中的更改?

def main(): 
    pennies = get_input1("Enter pennies : ") 
    nickels = get_input2("Enter nickels : ") 
    dimes = get_input3("Enter dimes : ") 
    quarters = get_input4("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, cents = get_left_over_cents(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", cents, "cent(s)") 

def get_input1(pennies): 
    pennies = input("Enter Pennies: ") 
    if int(pennies) < 0: 
     print("Error: money cannot be negative") 
     pennies = int(input("Enter correct amount of pennies: ")) 
    return pennies 

def get_input2(nickels): 
    nickels = input("Enter nickels: ") 
    if int(nickels) < 0: 
     print("Error: money cannot be negative") 
     pennies = int(input("Enter correct amount of nickels: ")) 
    return nickels 

def get_input3(dimes): 
    dimes = input("Enter dimes: ") 
    if int(dimes) < 0: 
     print("Error: money cannot be negative") 
     pennies = int(input("Enter correct amount of dimes: ")) 
    return dimes 

def get_input4(quarters): 
    quarters = input("Enter quarters: ") 
    if int(quarters) < 0: 
     print("Error: money cannot be negative") 
     pennies = int(input("Enter correct amount of quarters: ")) 
    return quarters 

def get_total(pennies, nickels, dimes, quarters): 
    amount_pennies = (int(pennies) * .01) 
    amount_nickels = (int(nickels) * .05) 
    amount_dimes = (int(dimes) * .10) 
    amount_quarters = (int(quarters) * .25) 

def get_left_over_cents(pennies, nickels, dimes, quarters): 
    total = int(pennies) + 5*int(nickels) + 10*int(dimes) + 25*int(quarters) 
    return total // 100, total % 100 

main() 
+0

從get_total函數返回或存儲 – Hackaholic 2014-11-05 04:24:58

回答

1

您沒有從get_total函數返回任何東西。

def get_total(pennies, nickels, dimes, quarters): 
    amount_pennies = (int(pennies) * .01) 
    amount_nickels = (int(nickels) * .05) 
    amount_dimes = (int(dimes) * .10) 
    amount_quarters = (int(quarters) * .25) 
    return amount_pennies + amount_nickels + amount_dimes + amount_quarters 

在Python中,如果一個函數沒有顯式地return任何值,則返回None默認。

相關問題