Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import time
- from calendar import monthrange
- import numpy as np
- from matplotlib import pyplot as plt
- bal = float(sys.argv[1])
- bal -= 1500
- Sal = [26, 1762]
- Payback = [6, 300]
- HCC = [8, -float(sys.argv[2])]#730
- NCC = [28, -float(sys.argv[3])]#1200
- today = time.gmtime().tm_mday
- month = time.gmtime().tm_mon
- year = time.gmtime().tm_year
- max_day = monthrange(year, month)[1]
- s_day = 60*60*24
- if today < HCC[0]:
- days = HCC[0] + max_day - today
- elif today < NCC[0]:
- days = NCC[0] + max_day - today
- else:
- days = HCC[0] + monthrange(year, month +1)[1] + max_day + - today
- if days < Sal[0] - today + max_day + 1:
- days = Sal[0] - today + max_day + 1
- data = {}
- for i in range(32):
- data[i] = 0
- data[1] -= 6 ## H Charity
- data[1] -= 16 ## LL Charity
- data[1] -= 220 ## Joint Bills
- data[26] -= 365 ## Rent
- data[28] -= 38 ## Phone
- data[Sal[0]] += Sal[1]
- data[Payback[0]] += Payback[1]
- data[NCC[0]] += NCC[1]
- data[HCC[0]] += HCC[1]
- forecast = np.zeros(days)
- forecast[0] = bal
- for day in range(1, days):
- forecast[day] = forecast[day - 1]
- forecast[day] += data[time.gmtime(time.mktime(time.gmtime()) + day * s_day).tm_mday]
- plt.figure()
- plt.plot((0, days), (0, 0), 'k--')
- plt.plot((0, Sal[0] - today), (forecast[Sal[0] - today], forecast[Sal[0] - today]), 'g--')
- plt.plot((0, Sal[0] - today + max_day), (forecast[Sal[0] - today + max_day], forecast[Sal[0] - today + max_day]), 'g--')
- plt.plot((max_day - today + 1, max_day - today + 1), (forecast.min(), forecast.max()), 'r--')
- plt.plot(forecast)
- plt.xlim(xmin = 0)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement