2012年12月14日 星期五

Python 執行檔產生方式

之前使用過py2exe 去產生 python 程式的 單一執行檔(click here),後來我安裝了pythonxy 去開發GUI 程式,我程式有用到 Enthought 的Traits UI/Traits 套件,雖然開發GUI 程式很快,我也從中學到MVC 的概念,不過我想要用 py2exe 去產生有引用 Traits UI/Traits 的執行檔時,一直無法成功,enthought 也回答我的疑問,我是有看沒有懂,所以只好去另找方法後來,
用Python 科學計算中文版 問了作者,他介紹與教我 用 bbfreeze 去產生執行檔,這個bbfreeze 產生的東西,應該算是建立一個環境給你寫的程式執行,所以會產生一個很大的Folder,不過可以用就好。


以下介紹方法:
1.bbfreeze 的setup 寫法:
#This script is for bbfreeze
#It generate execute file.
#Usage : python setup.py


from bbfreeze import Freezer
f = Freezer("Base64gui-1.0")
f.addScript("base64gui.py",gui_only=True)
f() # starts the freezing process




2.py2exe 要引用pyqt4 的setup 寫法:
#This script is for py2exe module
#It generate execute file.
#Usage : python setup.py py2exe




from distutils.core import setup
import py2exe
setup(windows=[{"script" : "d:/base64gui/py2exe/findandreplacedlg.py"}], options={"py2exe" : {"includes" : ["sip", "PyQt4"]}})

-----2012/12/14 update --------
另一個 產生 stand-alone executables 工具- PyInstaller  (我測試的OS 是 windows xp)
要先裝 pywin32,使用方法
python pyinstaller.py yourpgm.py
它會產生 yourpgm folder,理面有個 dist 目錄 ,就會找到 yourpgm.exe 檔

2012年11月22日 星期四

HTTP Server ,socketserver,Acess enscribe file.

1.Python 提供 HTTP server,socketserver for http server and tcpip  server.

2.Nonstop server 可以執行 ptyhon HTTP server.
  Usage : python -m SimpleHTTPServer 8000
  Note :  -m : module , port number:8000
  執行後, open web browser , "http://192.168.110.93:8000/ ,可以看到 Nonstop 的目錄

3.Python 可以 I/O Nonstop Guardian file.
    READ Enscribe file (code 101,180) 沒問題
    Write  file ,File code 是 180 (ASCII  C edit file).
    可以使用  CTOEDIT 轉成 code 100. Usage: CTOEDIT  C-file,EDIT-file.
    同理, Edit file(Code 100) 也可以轉成 Code 180.Usage:EDITTOC Edit-file,C-file.



2012年6月4日 星期一

97~ 99年綜所納稅額及稅率級距-稅收分擔

資料來源:財政部財稅資料中心
聲明:本項統計資料來源為各年度最新綜合所得稅申報核定資料,不含分離課稅、免稅及非課稅所得,本統計表不宜作為貧富差距之比較;相關數據以行政院主計總處公布資料為

可以看看中華民國綜所稅,各級距繳稅的百分比,順便打某財政立委的臉




2012年4月30日 星期一

分期付款公式

利息 = amt *r *[n/n+ (n-1/n)+ (n-2/n)+ …. + (2/n)+(1/n)]
        = amt*r*1/n [n+(n-1)+(n-2)+....+2+1]
        = amt*r*1/n *(nx(n+1)/2)
        = amtr{[n(n+1)2]/n}

2012年4月13日 星期五

預防腦退化症和與老年有關的痴呆症


思維的食品
文章出處

洛杉磯加州大學老年中心主任Gray Small 博士說:「那種認為腦退化症 (譯注-阿兹海默氏症-過去亦稱老人痴呆症,按香港醫務衛生署建議改為腦退化症-下同完全來自遺傳的和不可預防的想法,是對這個病症的最大誤解。」研究人員現在已經明白,腦退化症就像心臟病和癌症,是經年累月發展起來的病症,是受生活方式因素所影響,這些因素包括膽固醇、血壓、肥胖、癌症、憂鬱、教育、營養、睡眠、腦力、體力和社交活動等等。


好消息:大量的研究指出,只要每日做一些簡單小事就有可能把腦退化症發病機會降低。 為了尋找可以推遲腦退化症和其他癡呆症發生的科學方法,我閱讀了過千份報告及訪談了數十名專家。結論就在一本新書:"你能做得到的100件簡單事情可以預防腦退化症和與老年有關的痴呆症"。下面是我認最值得驚喜的10項策略。

1. 
喝咖啡: 咖啡得到平反,現在認為咖啡是一種新的補腦品。根據歐洲大量研究表明,中年時每日飲3-5杯咖啡,晚年時出現腦退化症的風險可以下降65%。美國南佛羅里達研究人員GaryArendash 贊許咖啡,他說咖啡可以減少動物腦中的導致失憶的類澱粉含量。其他研究人員則因抗氧化劑的功用給咖啡加分。Arendash勸人多飲咖啡,除非你的醫生認為你不宜飲咖啡。
(咖啡因與抗氧化劑)
2. 牙線: 說來也怪,牙齒和牙齦的健康有助於預診癡呆症。南加州大學研究表明,35歲之前有牙周病的人,老年時患癡呆症的機會比沒有的人多四倍。其他研究亦有患牙齒及牙齦病患的長者在記憶力和認知能力測試上得分較低。專家們推測是由於腔感染炎症向大腦遷移

3. 
谷歌 (譯註上網加州大學的 Gary
Small
用核磁共振證實,上網搜索比閱讀書本更能刺激長者的大腦。最令人驚訝的是:55-78歲的新手,只要一個星期每日上網一小時,便能活化大腦的主記憶和學習中心。

新生大腦細胞 :以前科學家們老是說大腦不可能產生新的細胞。現在卻認為大腦每日產生萬千個新細胞,關鍵是怎樣使這些新細胞存活。
方法是:帶氧運動(例如每日急散步30分鐘),緊張的腦力活動,進食沙文魚和其他含脂肪高的魚,如鮭魚、沙丁魚(Omega-3),避免過胖、慢性應激、剝奪睡眠、酗酒和維生素 B缺乏。
5. 飲蘋果汁 麻薩諸薩斯大學的Thomas Shea博士這樣說,蘋果汁可以促進「記憶化學物」乙酰膽碱的產生。這也就是治療腦退化症常用藥 Aricept 的作用機理。他用蘋果汁飼餵的老齡老鼠比用水飼養的老鼠,在學習和記憶試驗中表現得比較優勝。人類的服食劑量:16安士或每日2-3個蘋果。(注意蘋果通常噴大量農藥,飲有機果汁較佳)
6. 保護頭顱 若頭顱受到撞擊,那怕是年輕時期的輕度撞擊,也會使晚年時癡呆症增加。職業美式足球運動員發生與記憶有關的疾病比常人高19倍。哥倫比亞大學發現,年輕時頭部受傷的人得腦退化症的機會是常人的4倍。另一項研究表明意外跌倒受傷,五年後發生痴呆症的機會增加2倍。配戴安全帶,戴頭盔,家中防滑,不要冒險。
7. 冥思 腦部掃描顯示,經常沉思默想的人,在年齡日長時,腦退化症的典型症狀--認知衰退和腦萎縮比較少。賓夕凡尼亞醫學院的Andrew Newberg 說,記憶力有問題的的長者,若每日作12分鐘的瑜伽冥想,實踐兩個月,便可改進血液流通和思考功能。
8. 服食維他命 D 英國埃克塞特大學的研究驚人地發現,由於嚴重缺乏維他命D,美國的長者的認知障礙症急升394%。專家建議每日服食維他命 D3800-2000 國際單位。
9. 充實大腦 即所謂 "認知儲備"。生活經驗的累積 -- 教育、婚姻、社交、具刺激性的工作、語言技巧、生活有目標、要動腦的休閑活動 -- 都可以令大腦較好地忍受色斑和緾結 (譯註--色斑 plagues 通常指 amyloid plaques 澱粉質色斑,是在腦退化症患者的大腦所發現的結構異常特征。tangles 是指 neurofibrillary tangles 是腦退化症患者大腦神經原纖維混亂狀態。這兩者都是腦退化症患者死後屍剖的診斷依據)。芝加哥魯殊大學醫學中心的 David Bennet博士認為,如果有丰富的認知儲備,一個人可以有明顯的腦退化症的病理學病徵,但沒有痴呆的病狀。

10. 
預防感染 英國曼徹斯特大學 Ruth Itzhaki博士新近的證據令人驚訝地證明疱疹,胃潰瘍,萊姆病 (譯注 -一種由蜱傳播的全身疾病),肺炎,流感都與腦退化症有密切關系。按他的估計60%腦退化症的元凶是單純疱疹病毒。理論是:感染激發產生多餘的澱粉樣蛋白""從而殺死腦細胞。雖然證據尚未充足,但是為甚麼不注射適合的疫苗、服抗生素、抗病毒藥物來避免感染呢?
====================================================================喝甚麼來改善記憶 飲正確的飲料是保持你的記憶力和避免得腦退化症的好方法。

a, 
上選:果菜汁 細西州范德堡大學研究結果,一個星期飲三次,每次一杯任何的水果蔬菜汁可以減少76%的腦退化症。特別有效的是果汁是:藍莓、葡萄、蘋果汁。

b. 
 據阿兹海默症協會報告,對長者而言,每星期一杯紅茶或綠茶就可以把認知衰退減少37%。但只有泡茶才有效,不要飲罐裝茶,罐裝茶沒有抗氧化劑。(茶多酚、兒茶素)

c. 
含咖啡因飲料 沒想到,有數十個研究證實咖啡因可以對抗記憶衰退和腦退化症。最佳選擇:咖啡(一名腦退化症研究者一天飲五杯咖啡),茶、巧格力。但咖啡因對孕婦、高血壓患者、失眠症患者、焦躁症患者不宜。

d. 
紅酒 飲小量紅酒對日漸老化的大腦有好處。紅酒含大量抗氧化物。婦女一天不可超過一普通玻璃杯,男士兩杯。(譯注 -我對這一段有懷疑,daily glass 通常是指家庭常用水杯,標准是8安士或250毫升,亦有以500毫升作一杯,一天飲兩杯紅酒是不是太多了罷)過量的酒精,豪飲均可招致腦退化症。
.
e. 
有兩種飲品不可以飲
含糖高的飲料,特別是果糖含量高的玉米糖漿。它使試驗動物反應遲鈍。含銅/鐵高的水,也可以使患老人痴呆症機會升高。應當使用可以除去多餘礦物質的濾水器。


不讓你們的孩子患上腦退化症的方法。腦退化症不是年紀長大後才會發生。現在對孩子大腦所發生的事情對他們數十年後發生腦退化症有着極大影響。
根據最新研究,現在開始做五件事,就可以減少你的孩子從日後的腦退化症和記憶缺失發生。

1. 
預防頭顱受撞擊 堅持要孩子在騎單車、溜冰、打籃球、足球、曲棍球、其他有肢體接觸的運動時一定要戴頭盔。嚴重的撞擊和雖然不顯眼、但重複的腦震蕩都會做成傷害,日後會出現腦退化症和記憶缺失。
2. 鼓勵學習語言技巧 一個有高超寫作能力十來歲女孩,能逃過腦退化症的機會是8倍於一個文字語言技巧差的少年。教孩子流利地掌握兩三種語言,可讓他們不易受腦退化症攻擊。
3. 一定要孩子上大學 教育是防止腦退化症的強力武器。在學校越讀多幾年書,發病機會就越低。多數的腦退化症患者,都是年青時期輟學。劍橋大學近年的研究,多讀一年書,腦退化症發病機會下降11%
4. 提供刺激 用體力、腦力、社交活動和新奇的經歷使孩子的大腦忙碌起來。所有這些都有利於建立更大更好、更多的"認知儲備"。高認知儲備可預妨記憶衰退和腦退化症。


5. 
拚棄垃圾食品 用漿果類、菠菜、Omega-3含量高的魚類飼養的試驗動物,在老年時仍保有很好的記憶力。而用含糖高,尤其是含高果糖的飲料,飽和脂肪及反式脂肪體積較細和記憶力受損,這些都是腦退化症的前奏。

2012年4月10日 星期二

virtualenv 安裝 PIL on Window XP

Python /virtualenv  安裝 PIL
方法1:
    create virtualenv  - virtualenv --no-site-package d:\pinax
    activate  virtualenv
     pip install PIL (失敗)

方法 2:
    在原本安裝的 python ,先裝PIL
    create virtualenv - virtualenv --system-site-packges d:\pinax
     這樣 PIL 就可以利用 virtualenv  的 "--system-site-packges"  把 PIL 的功能繼承過來

用Python 產生 HTTP 檔案分享服務

1.切換到你要分享的目錄
python -m SimpleHTTPServer   xxxx (defult 8000, 你可改成你要的port)
3.  http://127.0.0.1:8000/
4.有圖有真像





2012年3月22日 星期四

房貸利息分40年,算算利息付出多少吧!


瞄準首購族 房貸可分40年還
2012/03/22
【聯合報/記者何醒邦/台北報導】
瞄準首購族購屋市場,多家房仲業者紛紛推出優惠房貸,償還期限最高還可達40年之久。



問題:讓我們試算若貸款600萬,年利率分別為 1%,2%,3%,分成 20年,30年,40年攤還的利息
      是多少?



方法:利用 EXCEL 公式 FV(rate,nper,pmt,pv)
      =FV(1%,20,0,-6000000)-6000000


利率 1 %,貸款 20/30/40 年,利息總支出佔本金  22%、34%、48%

利率 2 %,貸款 20/30/40 年,利息總支出佔本金  48%、81%、120%
利率 3 %,貸款 20/30/40 年,利息總支出佔本金  80%、142%、226%