以 fChart 馭 Python:
變數與輸出輸入(2/11)
Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB:http://gg.gg/TedLeeFB/
Email:Lct4246@gmail.com
FB:http://gg.gg/TedLeeFB/
Blog:http://gg.gg/TedLeeBlog/
Dec. 31, 2021
接續著本 fChart 系列的前文《以 fChart 馭 Python:練 fChart 了沒?(1/11)》(https://reurl.cc/oeDGN3),從此篇開始,我們將針對每個項目的若干實例中,從的過程詳細說明整個解題的問題解決過程。就讓我們先從圖1 的「10 大項目之 1」(可從此處 https://reurl.cc/NpbE0n 下載)開始吧!
原始問題描述到以流程圖表達解法,再到對照流程圖寫出 Python 語法程式
原始問題
我們試圖把會安老師編排的範例一一還原到初始的問題形式來帶領讀者們思考「問題 --- 流程圖 ---> 解法」一連串的問題解決(problem solving)奇幻之旅:
流程圖符號識讀
流程圖與 Python 語法對轉
以滑鼠雙撃 .fpp 檔開啟會安老師設計的流程圖(設定方式如文末的附錄),按下 FlowProgramming_Edit 上方工具列最左側的
便可在 fChartCodeEditor 中撰寫流程圖範例所對應的 Python 程式碼(視窗右下角的程式語言要選到 Python
語法)。Python 的初學者可先從它的上方的 Python 的六大類語法選(圖 2)中選擇對應的類別來自動產生對應的程式語法。註:這個語法選單就好像積木程式的「積木抽屜」一樣,只是我們希望從直接從基本語法進入 Python 廣闊的編程世界!
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcCnQBVJAWgR92hs-mYhNIAnlla5nhiSjRvftU6MrMLeHKtE6BJoTclNlJMtN5a5wND_t8i9qMj98Xqcx21lgCj1OILjHcxwHO4APpQKfF2H6wYR2AKSBKfLadnPvPCzDEKcXDAqOU/w102-h27/image.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR-C_BBfdvJR6A7rNCOugYuoUufGcHlA7-1sduTtZEOwx7G3dffOh6X9Kk6XwXn3AZR_UP5gYGd87o32cEv0N6lX5dFbi8N8LdprJYjaJQBqcmsgJMVfosd6e5iCZx4yFM0B-nTg9g/w254-h42/image.png)
1. 01-01.輸出第一個流程圖程式:將圖 3 的「print("Hello World!")」指令中雙引號內輸出字串改為「print("我的第一個流程圖")」並存成「01-01.輸出第一個流程圖程式.py」後,再按下
後,便可以執行出原流程所要達成的結果
。其中,圖 3 流程圖中的 LF 為 line feed(換行)。註:本例介紹 print("印完換行的輸出字串") 的語法。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OPGDHDHeOONtlDsI6YCGen-kZU9YwyAg1OuszEHH2pb3l1zrhXnR4nIWPuB2d0Ab6wQCZ42E6HTai42ShyphenhyphenR074XNR1bDFiaYL3-FbH3PdltuPlPRJL54iqCI9VRtv6Q09alFwR7h/w89-h30/image.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLmwoJpqtAULILEw7CmRL6zfUamqeupOa7aEMdElahHvJJioxqLEqOWtuBb8EQuFxdAO8TEAMmbl037QzwAfeCr9nj5Sq3-FrzLDj2UllE4wBBQKu5vgmHuyqsRidSDk3AE5VKyC7F/w289-h81/image.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN9pFXb2H1Od38PSK3JlmgGLMNH9lLpFkQ8MVOCBbA-zL-sxY3YMG9ck53wBqCXXb-ljJbm_uCkLgqCg_s8-g7IKHigJaj22U86Illbs9hrXk__uGivaB1jxiVrmDDw31kSeOaH0cj/w640-h208/image.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiomWfvo2CQI-r7E4WKeKBRLY1mD6wF_D0s3BFF6HqRQscloQsHV2gE0sodr-xe6V1YlYV_plRs5aVlVuVMuhhFVxUvkhsXTY3aCYQiiX5A5VFWFeQkyYgYB8LVlq0f3LDyiVzsrr4W/w400-h100/image.png)
2. 01-02.輸出二行_不換行:在 fChartCodeEditor 中選
和
以產生對應的兩行 Python 程式碼
,將輸出字串修改為正確的文字後以「01-02.輸出二行_不換行.py」存檔,便可得到如圖 4 的執行結果。註:本例介紹 print("印完不換行的輸出字串", end = "") 的語法 [3],其中 "" 表示空字串(null string)。
3. 01-03.輸出二行_換行:從 fChartCodeEditor 中選
產生第一行程式碼後,緊接著,因為圖 5 流程圖中的兩個螢幕輸出符號相同,所以,直接在 fChartCodeEditor 以 copy/ paste(複製/貼上) 來處理較快(即,已經會跑了就不用再慢慢爬)。最後,以「01-03.輸出二行_換行.py」存檔,再按下
後就能看到語法程式的執行結果。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl3HZ5symCtZ342WBcYwhSKwP48v0JUyV4aJoi3hz8RL8UiANk04GM8v3bxUj63SXE05EL2HeRo6lGnn4riNsTz3rDrYHrTZOhoZEsDX4FLVJ5_-cY2U6rI26fHpD4SO8kupqxRWmc/w264-h65/image.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OPGDHDHeOONtlDsI6YCGen-kZU9YwyAg1OuszEHH2pb3l1zrhXnR4nIWPuB2d0Ab6wQCZ42E6HTai42ShyphenhyphenR074XNR1bDFiaYL3-FbH3PdltuPlPRJL54iqCI9VRtv6Q09alFwR7h/w89-h30/image.png)
圖 5:連續印出兩行換行訊息的執行結果。
4. 01-04.輸出1個變數值:在 fChartCodeEditor 選單中依序選取
和最後,以「01-04.輸出1個變數值.py」存檔,再按
後就能看到語法程式的執行結果。註:本例介紹變數賦值 變數名 = 值和串字轉換函式 str() 的語法。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7vKbhc6DkQfqvQI4HQwh3B7iCD_O0RFAJNtO4nzoqQX-1V3kzfCeqGw-uvaS5xhYE-O2XbeGKmJ12WhR7N5H8c4FIPXCiixEaJAW5o9hfDtVgGBPI-c9JkWtSxn9ZKaTUmkTyfeiC/w192-h83/image.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OPGDHDHeOONtlDsI6YCGen-kZU9YwyAg1OuszEHH2pb3l1zrhXnR4nIWPuB2d0Ab6wQCZ42E6HTai42ShyphenhyphenR074XNR1bDFiaYL3-FbH3PdltuPlPRJL54iqCI9VRtv6Q09alFwR7h/w89-h30/image.png)
5. 01-05.輸出3個變數值:承4,因為我們已經有印出一個變數的經驗了,讀者可試著仿照上例,跳過指令選單,直接對照著流程圖敲入程式(圖7)。然後,以「01-05.輸出3個變數值.py」存檔,再按
後就能看到語法程式的執行結果。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OPGDHDHeOONtlDsI6YCGen-kZU9YwyAg1OuszEHH2pb3l1zrhXnR4nIWPuB2d0Ab6wQCZ42E6HTai42ShyphenhyphenR074XNR1bDFiaYL3-FbH3PdltuPlPRJL54iqCI9VRtv6Q09alFwR7h/w89-h30/image.png)
圖 7:印出三個變數內容
6. 01-06.輸出運算式的值:承5,從指令選單中選擇印出變數值並換行的選項兩次
,再依圖 8 修改指令後,以「01-06.輸出運算式的值.py」存檔,再按
後就能看到運算式(expression)的計算結果。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OPGDHDHeOONtlDsI6YCGen-kZU9YwyAg1OuszEHH2pb3l1zrhXnR4nIWPuB2d0Ab6wQCZ42E6HTai42ShyphenhyphenR074XNR1bDFiaYL3-FbH3PdltuPlPRJL54iqCI9VRtv6Q09alFwR7h/w89-h30/image.png)
7. 01-07.輸入與輸出整數值:承 4,本例再加上從鍵盤輸入數字的指令
。請留意,input() 會將鍵盤敲入數字視為「字串」,所以,我們需要再以 int() 函式將文字型數字轉回整數值。最後,以「01-07.輸入與輸出整數值.py」存檔,再按
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OPGDHDHeOONtlDsI6YCGen-kZU9YwyAg1OuszEHH2pb3l1zrhXnR4nIWPuB2d0Ab6wQCZ42E6HTai42ShyphenhyphenR074XNR1bDFiaYL3-FbH3PdltuPlPRJL54iqCI9VRtv6Q09alFwR7h/w89-h30/image.png)
圖 7:印出輸入的整數值
8. 01-08.輸入與輸出浮點數:承 7,從選單中選擇浮點數輸入
,依圖 8 修改程式碼後以「01-08.輸入與輸出浮點數.py」存檔後再按下
就能看到 Python 程式的結果。請記得要用 float() 函式將讀入的文字型浮點數轉為原浮點數值。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-OPGDHDHeOONtlDsI6YCGen-kZU9YwyAg1OuszEHH2pb3l1zrhXnR4nIWPuB2d0Ab6wQCZ42E6HTai42ShyphenhyphenR074XNR1bDFiaYL3-FbH3PdltuPlPRJL54iqCI9VRtv6Q09alFwR7h/w89-h30/image.png)
9. 01-09.輸入與輸出匯率:承 8,以「01-09.輸入與輸出匯率.py」存檔後執行程式碼便可得到 圖 9 的結果。
圖 9:印出輸入的美金匯率
附錄:fChart 的安裝與環境設定
解壓縮(decompress) 讀者們下載我們還原為英文界面 Windows 版的 fChart(https://reurl.cc/ZrarRA)後,將之解壓縮到磁碟機的根目錄(root directory)下(例如:D:\)。此時,所有 fChart 的檔案會解到「fChartPython6_en」這個資料夾之中(圖)。
檔案屬性關聯(association) 將設定滑鼠雙撃(double click)就能以「FlowProgramming_Edit.exe」立即開啟 .fpp 檔(圖)。
- 六種授權條款。
- 應該會有讀者們疑惑:為什麼學程式設計都要從「文字模式(text mode)」開始?筆者暫不回答這個問題,請讀者們學到了「視窗程式設計(Window Programming)」後再回頭來審視此問題。
- Python 號稱是語法格式(format)最彈性的程式語言,其優點是較不會有硬梆梆的嚴格語法規定。但也因為這樣的彈性(flexible),造成格式紊亂而不一。建議讀者先以會安老師在 fChart 中所使用的語法作為初學範本。待日漸熟稔之後,再行調整出自己的編程風格(coding style)。
沒有留言:
張貼留言