跳到主要內容

發表文章

目前顯示的是 十二月, 2014的文章

[Python] 簡單的互動猜數字遊戲

這是要介紹利用 Python 3.4 (Python 官方載點) 來撰寫一個簡單的猜數字遊戲
(NOTE: 一定要使用 python 3.x 避免錯誤的訊息)

想法:
首先Python會詢問玩家姓名,然後玩家輸入完畢之後,我們接著讓 python 產生 1~20 個的隨機整數,並邀請玩家在 有限猜測次數內猜對電腦產生的隨機整數(下面程式碼為1次)。我們首先會引入 random 函式庫來幫助我們建構隨機數 再透過 while /if 判斷式來提示玩家所猜的數字是太高或者太低。


以下我們用 python idle 介面撰寫程式碼如下:


用到的函數功能:

random.randint(1,20) := 表示利用 random 函式庫產生 1~20 隨機整數print('...'):= 在螢幕上顯示 '字串' (利用 ' ')input():=會要求玩家輸入值str():= 將資料轉換回字串int():= 將資料轉換回整數while := 無窮迴圈 if:= 判斷

程式執行結果為

ref: Al Sweigart, Invent Your Own Computer Games with Python, 2nd Edition

2014/12/24 板橋長老教會燭光平安夜

歡迎一同前往 :)
願神的平安常常與我們同在

==========================

相關連結 關於板橋基督長老教會: 板橋基督長老教會華語禮拜 Facebook專版板橋基督長老教會華語禮拜敬拜讚美 Youtube頻道主日禮拜時間:
《台語禮拜》週日上午09:30~11:00
《國語禮拜》週日上午11:05~12:30
教會地址:台北縣板橋市明德街1巷3號
連絡電話:02-29687749
駐堂牧者:洪英俊 牧師

[數學分析] Inverse Function Theorem

想法:
這次要介紹數學分析理論中一個重要的定理,稱作 反函數定理 (Inverse Function Theorem),簡而言之,反函數定理指出 一個 連續可微函數 $f$,若我們考慮點 $x$ 可使其 Linear transformation $f'$ 為 invertibale,則該點 $x$ 附近的 $f'$ 都為 invertible。

Comments:
1. 上述我們所提及的 invertible 我們指 一個 Linear transformation 為 invertible,嚴格來說定義如下:若  linear transformation $A: X \to Y$ 為 invertible,若下列條件滿足:
    (a.) $A$ 為 one-to-one: (i.e., $A x = Ay \Rightarrow x =y$)
    (b.) $A(X) = Y$ (i.e., $A$ maps $X$ onto $Y$ or 對任意 $y \in Y$, 存在 $x \in X$ 使得 $Ax = y$ )

2. 以下討論我們皆以 多變數向量函數 為主,亦即
若 $A \subset \mathbb{R}^n$ 且 $B \subset \mathbb{R}^m$,$n,m \in \mathbb{N}$ 則我們稱 $\bf f$ $: A \to B$ 為多變項量函數 (vector function of several variables.)


接著我們介紹何謂 $C^1$ 函數:
================
Definition: $C^1$ Continuously differentiable
我們稱一個可導的 mapping ${\bf f}: E \subset \mathbb{R}^n \to \mathbb{R}^m$ 為 continuously differentiable in $E$ (記做 ${\bf f} \in C^1(E)$) 若下列條件成立:
${\bf f}':E \to L(\mathbb{R}^n, \mathbb{R}^m)$ 為 continuous mapping ;亦即 對任意 ${\bf x} \in E$ 且 任意 $\varepsilon >0$,…

[分享] Python 簡易安裝 - Anaconda

Python  (原文是大蟒蛇) 是一套程式語言,標榜簡潔易學,但由於其原始版本並沒有整合一些科學計算常用的模組,比如在數學工具常需要用到的  NumPy 模組,使用者需要再另外自行安裝這些模組套件,故這次要介紹只要安裝一個版本就可以將其常用的各種模組一網打盡的懶人?安裝方法:稱作 Anaconda  (也是一種大蟒蛇 (常指 一種叫做 森蚺 的蟒蛇 )!!)。

安裝 Anaconda 最大的好處是其支援各種作業平台 (Windows/Mac/Linux) 且完全免費,另外像是好用的 web 編碼 IPython Notebook 也整合在 Anaconda 中,可以供使用者方便在整合的環境中操作。

方法非常簡單,請至 Anaconda Scientific Python 下載 Anaconda 並安裝即可

Anaconda Scientific Python 網站

網頁開啟之後如圖所示點選下載 Download Anaconda


填入 E-mail 即可免費下載


安裝完畢 (這邊以 Windows 8 為例 (MAC 會直接顯示在桌面上)  可以再應用程式區看到


點選 Launcher 即可開始使用 Python。執行後會看到如下畫面



上圖中三種工具都可以寫 Python 程式,可依讀者喜好選用喜歡的介面嘗試。對於初學 Python 的讀者而言,個人推薦使用 Ipython-notebook 的互動式 Web 編輯介面。


那麼安裝完之後該怎麼開始學習呢?

免費學習 Python 的相關資源,如果不排斥英文的讀者,個人推薦可至 codecademy step-by-step 練習基本語法與相關功能e.g., 運算、類別、迴圈、型別;
另外亦可至 Udacity 中報名課程 Programming Foundation with Python 學習更一些直接的 Python 應用;或者 Introduction to Computer Science (with Python)

至於習慣中文的讀者可至 政大應數系 曾正男 教授的個人 BLOG 裡面也有相當豐富的 Python Note 學習。

另外如果是喜歡遊戲設計的讀者,個人推薦至 Program Arcade Games with Python and Pygame
網站。