2010-04-20, 01:21 PM
Here's a version I hacked up:
Works for me. Even uses a quick caching system.
Code:
def CalculatePay(numberDays):
payEachDay = [0] * numberDays
accumPay = [0] * numberDays
for eachDay in range(numberDays):
if eachDay == 0:
payEachDay[eachDay] = 1
accumPay[eachDay] = 1
else:
payEachDay[eachDay] = payEachDay[eachDay - 1] * 2
accumPay[eachDay] = sum(payEachDay)
return payEachDay, accumPay
def Main():
numberDays = []
payEachDay = []
accumPay = []
inputSelection = 1
while inputSelection != 0:
inputSelection = input('Enter the amount of days to calculate\n' +
'If you want to quit, enter 0\n')
if inputSelection > 0:
if len(accumPay) >= inputSelection:
print("You would make $%0.2f in %d days" % (float(accumPay[inputSelection-1]) / 100, inputSelection))
else:
numberDays = range(1, inputSelection + 1)
payEachDay, accumPay = CalculatePay(inputSelection)
print("You would make $%0.2f in %d days" % (float(accumPay[inputSelection-1]) / 100, inputSelection))
print("Goodbye.\n\n")
Main()Works for me. Even uses a quick caching system.
