運算思維程式講堂
輕鬆學會 Python 的入門精華!
利用 ChatGPT 撰寫程式、開發 AI 小遊戲!
Python 是一種執行效率不錯的直譯式語言,具有強大的跨平台的特點,可以在大多數的主流平台上執行。更棒的是,Python 具有許多物件導向的特性,是資料解析、資料探勘(Data Mining)、資料科學工作中經常被使用的程式語言,可以廣泛應用在網頁設計、App 設計、遊戲設計、自動控制、生物科技、大數據等領域。同時,Python 擁有第三方套件及開發工具,可以幫助程式設計師輕鬆完成許多程式設計開發的工作。
本書結合運算思維與演算法的基本觀念,並以 Python 語言來一步步引導,期許幫助各位具備程式設計的基本能力。其實學習程式語言和學游泳一樣,跳下水感覺看看才是最快的方法,對一個初學者的心態來說,就是實際跑出程式最為重要,因此為了方便初學者機上實作,本書程式碼都已在 Python開發環境下正確編譯與執行。
另外,OpenAI 推出免費試用的 ChatGPT 聊天機器人,在網路上引起熱烈討論,造成不少話題。因為它不僅僅是個聊天機器人,還可以幫忙回答各種問題,例如:寫程式、寫文章、寫信等。本書加入了 ChatGPT 與 Python 雙效合一的應用,精彩 ChatGPT AI 程式範例如下:
➤使用 Pygame 遊戲套件繪製多媒體圖案
➤以內建模組及模擬大樂透的開獎程式
➤建立四個主功能表的視窗應用程式
➤演算法的應用:迷宮問題的解決方案
➤海龜繪圖法(Turtle Graphics)繪製圖形
➤猜數字遊戲
➤OX 井字遊戲
➤猜拳遊戲
➤比牌面大小遊戲
目錄
CHAPTER 01 程式設計與 Python 初體驗
1-1 認識程式語言
1-1-1 機器語言
1-1-2 組合語言
1-1-3 高階語言
1-1-4 第四代語言
1-1-5 第五代語言
1-2 Python 簡介與特性
1-2-1 程式簡潔與開放原始碼
1-2-2 直譯與跨平台的特性
1-2-3 物件導向的設計風格
1-2-4 豐富的第三方套件
1-3 Python 安裝與執行
1-3-1 IDLE 編輯器下載與安裝
1-3-2 在桌面上建立 IDLE 捷徑
1-4 我的第一支 Python 程式就上手
1-4-1 新建程式
1-4-2 儲存程式
1-4-3 執行程式
1-4-4 開啟程式
CHAPTER 02 變數與資料處理
2-1 認識變數
2-1-1 變數宣告與指定
2-1-2 變數命名規則
2-1-3 程式註解的重要
2-2 資料型態
2-2-1 數值型態
2-2-2 字串型態
2-2-3 資料型態轉換
2-3 輸出指令 --print
2-3-1 「%」參數格式化輸出
2-3-2 以 format 方法將輸出資料格式化
2-4 輸入指令 --input
CHAPTER 03 運算式與運算子
3-1 算術運算子
3-2 複合指定運算子
3-3 比較運算子
3-4 邏輯運算子
3-5 運算子的優先權
CHAPTER 04 結構化程式設計與條件控制指令
4-1 認識程式區塊及縮排
4-2 條件控制指令
4-2-1 if 條件指令
4-2-2 if else 條件指令
4-2-3 if...elif...else 指令
4-2-4 巢狀 if 條件指令
CHAPTER 05 迴圈結構
5-1 for 迴圈
5-1-1 認識 range 函數
5-1-2 for 迴圈語法
5-1-3 巢狀迴圈
5-2 while 迴圈
5-3 迴圈控制指令
5-3-1 break 指令
5-3-2 continue 指令
CHAPTER 06 字串、串列、元組、字典與集合
6-1 再談字串(string)
6-1-1 字串建立
6-1-2 字串輸出格式化
6-1-3 []運算子與切片運算
6-1-4 跳脫字元
6-1-5 字串相關方法
6-2 串列(list)
6-2-1 建立串列
6-2-2 多維串列
6-2-3 常用的串列函數以及方法
6-3 元組(tuple)
6-3-1 建立元組
6-3-2 常用元組函數
6-4 字典(dict)
6-4-1 建立字典
6-4-2 常用的字典函數以及方法
6-5 集合(set)
6-5-1 建立集合
6-5-2 常用集合方法
CHAPTER 07 函數與演算法
7-1 函數簡介
7-1-1 Python 函數類型
7-1-2 定義函數
7-1-3 參數預設值
7-1-4 任意引數傳遞
7-1-5 關鍵字引數
7-1-6 變數的有效範圍
7-1-7 lambda 函數
7-2 參數傳遞模式
7-2-1 傳值呼叫
7-2-2 傳址呼叫
7-3 常見 Python 內建函數
7-3-1 數值函數
7-3-2 日期與時間函數
7-4 認識演算法
7-4-1 演算法的表現方式
7-4-2 分治法與遞迴函數
7-4-3 動態規劃法
7-4-4 疊代法
7-4-5 氣泡排序法
7-4-6 淺談搜尋法
CHAPTER 08 模組與套件自訂與應用
8-1 認識模組與套件
8-1-1 模組的使用
8-2 建立自訂模組
8-2-1 建立自訂模組
8-2-2 名稱空間的功用
8-3 常用內建模組
8-3-1 os 模組
8-3-2 sys 模組
8-3-3 math 模組
8-3-4 random 模組
8-3-5 time 模組
8-3-6 calendar 模組
8-4 套件管理程式 – pip
8-4-1 第三方套件集中地 PyPI
8-4-2 pip 管理工具
CHAPTER 09 視窗程式設計
9-1 建立視窗
9-1-1 匯入 tkinter 套件
9-2 常用視窗元件介紹
9-2-1 標籤元件(Label)
9-2-2 按鈕元件(Button)
9-2-3 文字方塊元件
9-2-4 文字區塊元件
9-2-5 捲軸元件
9-2-6 訊息方塊元件
9-2-7 核取按鈕元件
9-2-8 單選按鈕元件
9-2-9 功能表元件
CHAPTER 10 檔案的輸入與輸出
10-1 檔案功能簡介
10-1-1 檔案類型
10-2 認識檔案與開啟
10-2-1 檔案開啟 – open() 函式
10-2-2 建立 / 讀取檔案
10-2-3 開啟檔案組合模式
10-2-4 常見檔案處理方法
10-2-5 使用 with...as 指令
10-3 例外處理
10-3-1 try...except...finally 用法
10-3-2 常見錯誤類型
CHAPTER 11 ChatGPT 與 Python 程式設計黃金入門課
11-1 認識聊天機器人
11-1-1 聊天機器人的種類
11-2 ChatGPT 初體驗
11-2-1 註冊免費 ChatGPT 帳號
11-2-2 更換新的機器人
11-2-3 登出 ChatGPT
11-3 使用 ChatGPT 寫 Python 程式
11-3-1 利用 ChatGPT AI 撰寫 Python 程式
11-3-2 複製 ChatGPT 幫忙寫的程式碼
11-3-3 ChatGPT AI 程式與人工撰寫程式的比較
11-4 ChatGPT AI Python 程式範例集
11-4-1 使用 Pygame 遊戲套件繪製多媒體圖案
11-4-2 以內建模組及模擬大樂透的開獎程式
11-4-3 建立四個主功能表的視窗應用程式
11-4-4 演算法的應用:寫一支迷宮問題的解決方案
11-4-5 海龜繪圖法繪製兩款精美的圖形
11-5 課堂上學不到的 ChatGPT 使用秘訣
11-5-1 能記錄對話內容
11-5-2 專業問題可事先設定人物背景及腳本
11-5-3 目前只回答 2021 年前
11-5-4 善用英文及 Google 翻譯工具
11-5-5 熟悉重要指令
11-5-6 充份利用其它網站的 ChatGPT 相關資源
11-6 利用 ChatGPT 輕鬆開發 AI 小遊戲
11-6-1 請 ChatGPT 自我推薦以 Python 實作的小遊戲
11-6-2 猜數字遊戲
11-6-3 OX 井字遊戲
11-6-4 猜拳遊戲
11-6-5 比牌面大小遊戲