2014-11-05 3 views
0

내 프로그램을 실행하면 프로그램이 실행되고 모든 것이 실행되지만 입력 한 내용이 총계로 표시 되려면 "total = $ none"이 표시되며 그 이유를 계속 알 수 있습니까?내 프로그램이 내 변경 사항을 파이썬으로 추가하지 않는 이유는 무엇입니까?

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

답변

1

get_total에서 아무 것도 반환하지 않습니다. 함수가 없습니다 명시 적으로 return 값을 않는 경우 파이썬에서

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 

, 그것은 기본적으로 None 반환합니다.

관련 문제