I am writing a program for my beginning program class as a final project. I got it all done, except when I run through a module, it causes an endless loop through the same module. Maybe I need a way to clear the choice () every time it runs.
Code:
#This program will help a person keep their budget
totalBudget = 4000
#the main function
def main ():
print 'Welcome to my personal budget calculator'
print
choice ()
#this function will start the menu selection
def choice ():
print 'Menu Selection'
print '1 - Add an Expense'
print '2 - Remove an Expense'
print '3 - Add a Revenue'
print '4 - Remove a Revenue'
print '5 - Exit'
selection = input ('Enter menu selection ')
while selection !=5:
if selection == 1:
addExpense (totalBudget)
if selection == 2:
removeExpense (totalBudget)
if selection == 3:
addRevenue (totalBudget)
if selection == 4:
removeRevenue (totalBudget)
if selection == 5:
print 'Goodbye'
#this function will add an expense
def addExpense (totalBudget):
addAmount = input ('Enter the amount of the expense to be added. ')
addFrequency = input ('Enter the frequency of the expense. ')
addTotal = addAmount * addFrequency
if totalBudget > addTotal:
totalBudget = totalBudget - addTotal
print 'The new budget is', totalBudget
return totalBudget
elif totalBudget < addTotal:
print 'The expense exceeds current budget. Try again'
#this function will remove an expense
def removeExpense (totalBudget):
removeAmount = input ('Enter the amount of the expense to be removed. ')
removeFrequency = input ('Enter the frequency of the expense. ')
removeTotal = removeAmount * removeFrequency
if removeTotal > totalBudget:
print 'Expenses exceed the budget. Try again.'
elif removeTotal < totalBudget:
totalBudget = totalBudget + removeTotal
print 'The new budget is', totalBudget
return totalBudget
#this function will add a revenue
def addRevenue (totalBudget):
addIncome = input ('Enter the amount of the revenue to be added. ')
totalBudget = addIncome + totalBudget
print 'Your new budget is', totalBudget
return totalBudget
#this function will remove a revenue
def removeRevenue (totalBudget):
removeIncome = input ('Enter the amount of the revenue to be removed. ')
if removeIncome > totalBudget:
print 'Your income exceeds budget. Try again.'
elif removeIncome < totalBudget:
totalBudget = totalBudget - removeIncome
print 'Your new budget is', totalBudget
return totalBudget
main()
Comment