2013-05-31 11 views
0

所以我正在學習python,並決定爲我的公司編程工資爲練習。 爲美國雙週稅,有模式,你需要支付的金額,這裏是例如短碼payroll program,需要幫助只是一個模式化的事件,新的python

if n >= 760 and n < 780: 
     gt = 45 
    if n >= 780 and n < 800: 
     gt = 47 
    if n >= 800 and n < 820: 
     gt = 49 
    if n >= 820 and n < 840: 
     gt = 51 

這裏n是工資,和GT是稅被支付。

,你可以看到,n的範圍是恆定的20,並通過一個常數2

增加稅收,這是從720真 - 1000,從1000開始但是,通過不斷的增稅率3

我想要能夠包括從720到2000的工資範圍,有沒有辦法做到這一點,還是我必須做到這一點困難的方式,並把它們全部寫出來?

+0

如果n = 20,也不會總是少於所有這些數字?我看到你正在檢查,看看是不是。我想你可能是做錯了,否則我誤解了一些東西 – Zamphatta

+0

你提到你正在學習python;我建議查看[project euler](http://projecteuler.net/)。在那裏我遇到了一些編程問題,在學習一種新語言時我覺得很有幫助。 – ahuff44

回答

1

我分支上的兩個範圍,然後用一些數學拿到稅額:

if n >= 720 and n < 1000: 
    gt = 2*((n - 720)/20) + 41 
elif n >= 1000 and n < 2000: 
    gt = 3*((n - 1000)/20) + 67 
+0

謝謝你!你是如何計算出數學的?順便說一句,我如何標記這解決了? – user2438739

+0

要標記它已解決,請單擊答案旁邊的空白勾號 - 它應該變綠。數學我做了一些試驗和錯誤,但主要是你從n(720或1000)中減去起始值,在範圍開始時給0,除以20得到代表每個塊的0,1,2,3等等20,乘以步長值(2或3)得到一系列0,2,4,6等等和0,3,6,9,然後加上每個範圍開始的值。 – RFairey