網頁

2018年7月10日 星期二

用python幫忙寫經濟學作業─線性供需模型

    其實我一開始是先寫靜態賽局,寫完才想說把經濟學課本的問題用程式碼來解決好了。這篇其實沒什麼,就只是先用數學找到通解,再用程式來計算,把資料打一打答案就出來了。
例如:
D: Q=a-bp
S: Q=c+dp
D=S: a-bp=c+dp
p=(a-c)/(b+d)
我寫了供需均衡還有從量稅分析,目前就只想寫到這裡。如果有什麼題目想要我用程式來解,留言告訴我。


    我假設你們已經裝好python了,如果沒有的話,估狗一下。把程式碼直接貼到Shell上按Enter,或是開新檔案把程式碼貼上去按F5。Shell一次只能設定一個函式。
    變數名稱可以用英文以外的語言來設定,但重要的語句是英文(例如for, def, range, input, if, else等等),變數名稱用英文就不必切換語言。
def ds():
    print("D=S:a-bp=c+dp")
    a=float(input('a='))
    b=float(input('b='))
    c=float(input('c='))
    d=float(input('d='))
    p=(a-c)/(b+d)
    q=a-b*p
    print('均衡價格與數量')
    return p,q

def tax():

    print("Pd=Ps+t")
    a=float(input('需求線截距'))
    b=float(input('需求線斜率(絕對值)'))
    c=float(input('供給線截距'))
    d=float(input('供給線斜率'))
    t=float(input('從量稅'))
    p1=(a-c)/(b+d)
    ps=(a-c-b*t)/(b+d)
    pd=ps+t
    q2=a-b*pd
    eq=(round(pd,2),round(q2,2))
    q=round(pd-p1,2)
    w=round((pd-p1)/t,2)
    e=round(p1-ps,2)
    r=round((p1-ps)/t,2)
    print('稅後均衡價格與數量:')
    print(eq)
    print('轉嫁給消費者的稅:')
    print((q,w))
    print('轉嫁給生產者的稅:')
    print((e,r))

    我猜這篇應該只有經濟系的人會有興趣,理論的東西在個經課本前面幾章就有了,所以我只講程式的部分。如果你對經濟理論有興趣,我之後會寫課本裡教的傳統理論,可以期待一下。

沒有留言:

張貼留言