程式語言

與機器對話 programming

Python

在 Windows 的 Eclipse 中撰寫 Python 程式 (2) – 在 Eclipse 中安裝 PyDev

安裝好 Python 之後,就可以在命令提示字元的視窗中輸入 python 來執行 Python 程式(前提是有先設好 PATH 變數)。當然如果我們要撰寫大量的程式碼時,使用文字編輯器或編譯器會是比較好的方式。下列介紹如何使用 Eclipse 來撰寫 Python 程式。 Eclipse 是一套知名的 Java 程式編譯器,它有著許多豐富的外掛程式。其中一項名為 PyDev 的外掛程式可以讓我們在 Eclipse 中撰寫並編譯、執行及除錯 Python 的程式碼。你可以直接到 PyDev 的下載頁面下載,目前的版本是 1.3.15,支援 Eclipse 3.3 與 Python 2.3.x or 2.4.x。 我們使用的從 Eclipse 中直接安裝 PyDev,如此一來如果日後有新版本的話,那麼直接在 Eclipse 中更新即可,比較方便。開啟 Eclipse 後點擊選單「Help」/「Software Updates」/「Find and Install…」。在跳出軟體安裝的視窗後,我們選擇「Search for new features to install」圓鈕: 點擊「Ne …

在 Windows 的 Eclipse 中撰寫 Python 程式 (2) – 在 Eclipse 中安裝 PyDev 閱讀全文 Read more...

,
Python

在 Windows 的 Eclipse 中撰寫 Python 程式 (1) – 在 Windows 中安裝 Python

本篇是和 MaxChu 約好要發表,可是一直遲遲沒有生出來的文章。話說 MaxChu 同學,我發了這篇之後,你也差不多該把在 Eclipse 上玩 GWT 和外掛的文章寫一寫了 XD 要想在 Windows 的 Eclipse 上玩 Python,首先要到官網下載並安裝好 Python 主程式。先連到 Python 的下載頁面,尋找適合您機器的版本下載。此處以 Python 2.5.2 Windows installer 為例,點選連結下載 Windows 安裝程式。 下載完成之後,就可以點擊 python-2.5.2.msi 來安裝了。此處我們選擇「Install for all users」來讓電腦上的每個使用者都可以使用 Python。 接下來選擇安裝目錄。一般來說都是建議使用預設目錄,不過我個人偏好安裝在其他磁區的英文目錄之中,並且該目錄不含有空白字元。不使用中文目錄或含有空白字元的目錄的原因是為了預防少數可能會發生的路徑錯誤問題。當然這只是我個人的想法,實際上目錄名稱中含有中文字或空白字元或許對執行 Python 不會造成任何問題。 選擇目錄之後,可以決定要安裝哪些功能,這邊 …

在 Windows 的 Eclipse 中撰寫 Python 程式 (1) – 在 Windows 中安裝 Python 閱讀全文 Read more...

,
淺談演算

[感想] 寫程式到底需不需要懂數學?

本篇原是發表在「Mr./Ms. Days – 網路, 資訊, 觀察, 生活」網站中「寫程式到底需不需要懂數學?」的迴響(UPDATE:已關閉為私人網站)。我將它稍稍整理一下後重貼如下: 寫程式超過十年,一直很高興自己是數學系出來的,而不是資工本科系出來的。為什麼? 每當我要寫程式時,我腦中自然就會浮現出能簡化公式的步驟,加快效率的方法和定理;我同時能擁有「將問題化成數學題目和演算法」的能力,以及「將數學演算法寫成程式」的能力。有些人說寫程式不用數學,我倒不這樣認為。只要你的程式中含有「邏輯和演算法」的話,那基本上就已經牽涉到數學了。我認為大家在爭論的,是「到底數學應該要用得深還是不用太深」、「只需要基本用法,還是要儘量多用進階技巧」。 寫程式,多多少少都會用到數學,除非你的程式是只在螢幕上印出 “Hello world!” 之類的簡易程式,沒有「邏輯和演算法」可言。不過只要一碰到演算法,效率好的演算法和效率不好的馬上就可以區分出來。之前很紅的「The art of programming」、「The pearl of programming」、「C …

[感想] 寫程式到底需不需要懂數學? 閱讀全文 Read more...

不學無數

[Algorithm] Fast PartitionsP(n) Program 數字拆解

最近在複習數論和微分方程時,正好想到 yoshi 之前有寫過一個數字拆解的程式。當時稍為研究了一下,不過因為忙專案,所以就沒再繼續下去。現在剛好有點閒時間,就把問題重新思考一遍,想到可以有更快的演算法可以加快速度。 演算法 Algorithm 推導過程 數字拆解的意思是一個正整數 n 可以有幾種相加的方法。例如 2 = 2 + 0 = 1 + 1,有兩種加法;3 = 3 + 0 = 2 + 1 = 1 + 1 + 1,有三種拆解法,因此類推下去: 令 f(n) 的值是 n 的拆解總數, g(i,j) 的值是用小於等於 j 的數字來拆解 i 的結果總合,j <= n – i,則: 也就是說, g(3,2) 就是用 2 以下的數字來拆解 3 的總合。從上述中我們知道總共有兩個可能,分別是 2+1 和 1+1+1,因此 g(3,2) = 2。另外以 g(1,3) 來說,因為 3 大於 1,無法滿足 1 = 3 + n (n≧0) 的等式,所以用 3 來拆解 1 是沒有意義的,同樣用 2 也是。也就是說,用 i 以下的數字拆解 i,只有一種結果:1+0,所以 由此可知,f(n …

[Algorithm] Fast PartitionsP(n) Program 數字拆解 閱讀全文 Read more...

程式語言

如何撰寫難以維護的程式碼?

一篇很有趣的文章,教導你如何寫出難以維護的程式碼。並且分成許多段落,包括「一般原理」、「命名」、「文件」、「偽裝」、「測試」、「程式設計」、「模糊程式碼」等等。我想要全部學會可能得要花一些時間,要融會貫通的話,可能得更久了。 有興趣的不妨看看:https://www.mindprod.com/jgloss/unmain.html 不過重點是,學它要做啥?我只想到兩個理由: 用克林貢語、哈比語來命名變數?…… …

如何撰寫難以維護的程式碼? 閱讀全文 Read more...

返回頂端