Advertisement
Guest User

RGlaun

a guest
Apr 18th, 2014
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.45 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. # USAGE: python RGlaun.py <brutto>
  5.  
  6. import sys
  7.  
  8. skattleysismork = 141025
  9. personuafsl = 50498 # kr a manudi
  10. out = ['fyrstu', 'næstu', 'síðustu']
  11. utsvar_rvk = 0.1452
  12. tekju_steps = [0.2286, 0.253, 0.318]
  13. steps = [[290000,(tekju_steps[0]+utsvar_rvk)],
  14.         [784619, (tekju_steps[1]+utsvar_rvk)],
  15.         [sys.maxint, (tekju_steps[2]+utsvar_rvk)]]
  16. VR_gjold = 0.007
  17. lifeyrir = 0.04
  18.  
  19. def laun(brutto):
  20.     stop = False
  21.     skattur_heild = 0
  22.     brutto_eftir_gjold = brutto * (1-lifeyrir) * (1-VR_gjold)
  23.  
  24.  
  25.     print '\n=== SKATTUR ==='
  26.     print 'Útsvar í Reykjavík: %.2f%%' % (utsvar_rvk*100)
  27.     print ('Staðgreiðsluhlutfall-Þrep 1: %.2f%% (%.2f%%+%.2f%%)'
  28.             % (steps[0][1]*100, tekju_steps[0]*100, utsvar_rvk*100))
  29.     print ('Staðgreiðsluhlutfall-Þrep 2: %.2f%% (%.2f%%+%.2f%%)'
  30.             % (steps[1][1]*100, tekju_steps[1]*100, utsvar_rvk*100))
  31.     print ('Staðgreiðsluhlutfall-Þrep 3: %.2f%% (%.2f%%+%.2f%%)\n'
  32.             % (steps[2][1]*100, tekju_steps[2]*100, utsvar_rvk*100))
  33.    
  34.     print '=== RADIANT GAMES ==='
  35.     print 'Kostnaður RG í starfsmann (20%%): %d\n' % (brutto * 1.20)
  36.     print '=== STARFSMAÐUR ==='
  37.     print 'Brúttó laun: %s' % brutto
  38.     print 'Laun eftir lífeyri og VR gjald: %d\n' % brutto_eftir_gjold
  39.  
  40.     if (brutto_eftir_gjold < skattleysismork):
  41.         print 'Laun eru undir skattleysismörkum'
  42.         print 'Nettó laun til starfsmanns: %d\n' % brutto_eftir_gjold
  43.         return
  44.  
  45.     tmp = brutto_eftir_gjold
  46.     prev_step = 0
  47.  
  48.     i=1
  49.     for step in steps:
  50.         print '=== ÞREP %d ===' % i
  51.         if (i<3):
  52.             print 'Efri mörk þreps: %d' % step[0]
  53.         else: #engin efri mörk í þriðja þrepi
  54.             print 'Þriðja þrep er síðasta þrep skatts og því engin efri mörk'
  55.         laun_in_step = step[0]-prev_step
  56.         if (tmp > laun_in_step):
  57.             tmp -= laun_in_step
  58.             skattur_step = laun_in_step * step[1]
  59.             prev_step = step[0]
  60.         else: # amount under step
  61.             skattur_step = tmp * step[1]
  62.             prev_step = brutto_eftir_gjold
  63.             laun_in_step = tmp
  64.             stop = True
  65.  
  66.         skattur_heild += skattur_step
  67.         print 'Skattur tekinn í þrepi %d: %d' % (i, skattur_step)
  68.         print 'Búið að taka skatt af %s %d kr.\n' % (out[i-1], laun_in_step)
  69.  
  70.         if (stop):
  71.             break
  72.         i = i+1
  73.    
  74.     print '=== SAMTALS ==='
  75.     print 'Skattur fyrir persónuafslátt: %d' % skattur_heild
  76.     print 'Skattur eftir persónuafslátt: %d' % (skattur_heild-personuafsl)
  77.     print 'Nettó laun til starfsmanns: %d\n' % (brutto_eftir_gjold-(skattur_heild-personuafsl))
  78.    
  79. laun(int(sys.argv[1]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement