發表文章

程式碼註解

Python 函數def 函數名稱: def draw(): canvas繪圖套件 create_line(x起點,y起點,x終點,y終點) def draw第二個delete def draw():#按下按鈕button1執行draw canvas.create_line(0,500,700,500,width=3,fill='black',arrow='last') canvas.create_line(10,600,10,5,width=3,fill='black',arrow='last') for firm in firms: t=(firm, year.get()) x = 10+20*stdev[t]*2*3**0.5 #放大20 y = 500 - 10*mean[t]*12 #放大10 dot=canvas.create_oval(x-5,y-5,x+5,y+5,fill='blue') lab=canvas.create_text(x+10,y,text=firm[4:7],anchor=W,font=('微軟中黑體', 16)) def delete():#按下按鈕button2執行delete canvas.delete('all') years=[x for x in range(2007, 2025)] year=IntVar(tk) year.set(years[0]) label = Label(tk, text="年度",font=('Arial',30,'bold'),).pack(side=LEFT) #距離左側 option1 = OptionMenu(tk, year, *years).pack(side=LEFT) button1 = Button(tk, text="賴青德繪圖 ",font=('Arial',30,'bold'), command = draw, bg='black...

楊侑宸Python與Javascript與EXCEL IRR函數比較

圖片
嵌入楊侑宸解說影片 嵌入WIKIPEDIA二分法 pmt = [0,0,0,0] #楊侑宸程式設計586設定串列list pmt[0]=float(input('躉繳金額: ')) for nper in range(1,4): pmt[nper] = float(input('第'+str(nper)+'期回收: ')) def npv(rate): y = - pmt[0] for j in range(1,4): y = y + pmt[j]/(1+rate)**j return y a, b, gap, f = 0.0, 1.0, 9.0, 9.0 maxerror = 0.000001 loopNumber = 1 while (gap > maxerror and abs(f) > maxerror and loopNumber maxerror and gap > maxerror): if ( f>0 ): a = c else: b = c gap = b-a; print('報酬率: ', c) print('淨現值: ', f) print('迴圈次數: ', loopNumber)

楊侑宸期末考Javascript與Python計算內部報酬率IRR

圖片
躉繳 第1期 第2期 第3期 注意,包含首期躉繳的現金流量都大於0。 輸出: 報酬率: 淨現值: 迴圈次數: 楊侑宸向項柏綱學習程式設計程式碼如下 <STYLE> H1{margin: 0; padding: 20px 0; color: #000000; text-shadow: 2PX 2PX yellow;} .Takming{border: 20px outset red;background-color: green;color: white;} .pmt{width: 60pt; height: 20pt;background-color: GRAY;color: white;} </STYLE> <SCRIPT>//註解分享過程重點,貢獻,註解給人看,註解維護MAINTAIN程式碼 const period=4;//給定期數四期 const maxerror = 0.000000001; //要求的精確度 var payment = new Array(period); function IRR() {   var a = 0;//TRY報酬率是否=0   var b = 1;//TRY報酬率是否=1   var c;//如果不是上面的a,b,就測試c=(a+b)/2   var f;   var gap=10;   var loopNumber = 0;   for (var i=0; i<period; i++)     payment[i]=document.getElementsByClassName("pmt")[i].value;   f = npv(a);   if ( f==0 )       document.getElementById("irr").innerHTML = "內部報酬率等於0.";   else if ( f<0 )     document.getElementById("irr"...

楊侑宸python自訂函數EXCEL PV和繪圖

圖片
python tkinter create_line利用tkinter繪圖 def pv(r,n,m,f):#劉任昌函數參數r,n,m,f p = m/r*(1 - 1/(1+r)**n)+f/(1+r)**n return p#執行函數的結果傳回去 n=float(input('期數: '))#要計算轉為實數real nubers m=float(input('收付: '))#浮點點float f=float(input('終值: ')) for i in range(1,10):#迴圈 r = i*0.01 x=pv(r,n,m,f) print('利率 ', r ,'價格 ', x) import tkinter as tk#輸入tkinter繪圖 root = tk.Tk() root.title('楊侑宸python tkinter') root.geometry('600x300')#寬度width改成600 canvas = tk.Canvas(root, width=600, height=300) # 加入 Canvas 畫布 canvas.pack() x, y = 0, 0 canvas.create_line(0, 200, 500, 200, width=3,fill='black') for x in range(1, 200): x1 = x+1 y1 = 200 - pv(x1,n,m,f)*200 canvas.create_line(x, y, x1, y1, width=5,fill='blue') canvas.pack() x = x1 y = y1 root.mainloop() SPYDER執行結果

楊侑宸Javascript與Python數值方法

PYTHON計算現值PRESENT VALUE程式碼 def computePV(): #python def函數: {} r = float(input('輸入利率: '))#float轉為實數 n = float(input('輸入期數: ')) m = float(input('輸入每期金額: ')) f = float(input('輸入終值: ')) pvif = 1/(1+r)**n pv = (1-pvif)*m/r + f * pvif print('現值等於 ',pv) #前面我們用Javascript這裡python #function: def #{區段} 同一個縮排indent同一個區段 computePV() 我會使用上面的PYTHON也會使用下面的JAVASCRIPT 月利率y(rate) 期數n(nper) 每月還款金額(pmt) 終值f(fv) 參考劉任昌金融市場講義https://drive.google.com/file/d/17z6UZgN5fC2XCO1L8_BQs57dgQXzbwou/view?usp=sharing 楊侑宸學習HTML+CSS+JavaScript程式碼

Javascript的輸出字體.font與fillStyle與fillText

Javascript在網頁就可以執行不需要開啟Spyder sin執行 cos執行 橫軸

三個Javascript函數sin,cos與canvas.font

Javascript在網頁就可以執行不需要開啟Spyder sin執行 cos執行 橫軸