2019年5月20日 星期一

Python 自學方案- Step(一)

學第一個程式 都是在螢幕上顯示Hello Word,Pythom的指令就是 Print。
Print 顯示結果或是訊息在畫面中
例如
在python shell (命令提示字元) 中輸入 print (“Hello Word!”) 如下
     
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World!")
Hello World!
>>>

在命令列中輸入 help(print) ,可以得到print的語法,如下:
     
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

>>>

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
value -- 值,表示可以一次輸出多個對象。輸出多個對象時,需要用 , 分隔。
sep -- 用來間隔多個對象,默認值是一個空格。
end -- 用來設定以什麼結尾。默認值是換行符 \n,我們可以換成其他字符串。
file -- 要寫入的文件對象。

Print 換行指令
1. \n : 換行,換行把游標先移到行首然後換到下一行,也就是下一行的行首
2. \r : 返回,不換行,回到本行行首這就會把這一行以前的輸出覆蓋掉
3. \t : 定位,在本行中插入一個定位字元

可以寫一個小程式test.py來測試一下:
找一個寫程式用的文字編輯器: Notepad++、記事本將下列指令存成檔案名為 test.py
在命令提示字元中輸入 python test.py 即可執行程式

print("1. Hello World!!!")
print("2. Hello World!","Hello")
print("3. Hello World!","\n","Hello")
print("4. Hello World!","\nHello")
print("5. Hello World!","\r","Hello!Hi")
print("6. Hello World!","\rHello!Hi")
print("7. Hello World!","\t","Hello")
print("8. Hello Worlf!!!",end='')
print("9. How are you?")

C:\> python test1.py
1. Hello World!!!
2. Hello World! Hello
3. Hello World!
 Hello
4. Hello World!
Hello
 Hello!HiWorld!
Hello!Hi World!
7. Hello World!          Hello
8. Hello Worlf!!!9. How are you?

1. 直接用print 將1. Hello World!!!顯示於螢幕上
2. 用 ',' 將兩個文字合併成一個
3. ,"\n" , 在兩個文字間插入一換行符號,Hello 會顯示在第2行,且前方會多一個空格
4. 將 \n放在Hello字串內,Hello 會顯示在第2行,且前方不會多一個空格
5. ,"\r" , 在兩個文字間插入一Reture符號,Hello!Hi 會將第一行由第一個字元覆蓋,且前方會多一個空格
6. 將 \r放在Hello!Hi字串內,Hello!Hi 會將第一行由第一個字元覆蓋,且前方不會多一個空格
7. ,"\t", 會在Hello World! 與 Hello之間插入一個TAB
8. end=''表示結尾是空白,不帶任何符號,所以 How are you? 會直接接在後面顯示

2019年5月19日 星期日

Python 自學方案- Step(零)

要學Python,當然要先安裝Python
Python 官網網址:https://www.python.org/

安裝完後就是撰寫程式的開始啦,撰寫Python程式有下列幾種方式:
1. Python內建IDE,執行畫面如下
可以利用Options >> Settings 將字型改成等寬字型 (Consolas),這樣程式看起來會比較順眼,每個字都能對齊

2. 使用Windows 或是Linux 內建的 命令提示字元 或是 Terminal (終端機),只要在命令提示字元中執行Python即可,如下 只要看到 >>> 符號,就可以輸入Python 程式碼。
如要離開編輯環境,只要輸入exit() 並按 Enter,以退出 Python shell,回到原本的提示列。
或是 使用編輯軟體 也可編輯Python 程式,只要將副檔名存成.py 即可,例如:test-001.py
編輯軟體可以使用Notepad++來取代記事本
網址:https://notepad-plus-plus.org/zh/
Download 連結:https://notepad-plus-plus.org/repository/7.x/7.6.6/npp.7.6.6.Installer.exe
Notepad++ 支援Python 語法
另外也可以用 Spyder,Spyder是一個使用Python語言的開放原始碼跨平台科學運算整合開發環境,詳細介紹可以參考維基百科:https://zh.wikipedia.org/wiki/Spyder

Spyder官網:https://www.spyder-ide.org/
Download連結:https://www.anaconda.com/distribution/

2017年4月15日 星期六

Ubuntu 17.04 Zesty Zapus Release

Ubuntu 17.04 在2017-04-13正式Release,代號已經到英文字母最後一個字『Z』,代號名稱:Zesty Zapus 熱情的美洲林跳鼠。
ubuntu-17.04-desktop-amd64.iso 下載路徑:http://ftp.ubuntu-tw.org/mirror/ubuntu-releases/17.04/ubuntu-17.04-desktop-amd64.iso

ubuntu-17.04-desktop-i386.iso 下載路徑:http://ftp.ubuntu-tw.org/mirror/ubuntu-releases/17.04/ubuntu-17.04-desktop-i386.iso

安裝步驟如下,每一個發行版本安裝順訊都一樣
依據需求,先選擇語系:中文繁體
直接安裝,後續有需要再自行安裝其他軟體
直接安裝整顆硬碟

選擇地區(時區)
選擇鍵盤排列方式
建立帳號與密碼
正是安裝開始
經過不算短的時間【約30分鐘】
安裝完成,重新開機
萬年不變的Ubuntu桌面與桌布
一樣內建 Python 2 及 Python 3.5
確認 核心版本,使用的是 linux kernel 4.10
$ uname -a
Linux dinohsieh-VirtualBox 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:03:14 UTC 2017 i686 i686 i686 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 17.04
Release: 17.04
Codename: zesty


$ cat /proc/version
Linux version 4.10.0-19-generic (buildd@lcy01-01) (gcc version 6.3.0 20170321 (Ubuntu 6.3.0-10ubuntu1) ) #21-Ubuntu SMP Thu Apr 6 17:03:14 UTC 2017

FireFox 使用版本:52.0.1
LibreOffice 使用版本是 5.3
Ubuntu軟體市集,可以安裝你想要的軟體

一樣沒有中文輸入法
所以還是要來安裝注音輸入法!!!!

跟Ubuntu 15.04 /15.10一樣採用fcitx做為預設,這時請直接點左欄的齒輪,進入系統設定,點選「語言支援」。
進入「語言支援」後,會提示您要把中文語系相關的套件補齊,就直接補齊吧
-------這段直接照抄借用Ubuntu 15.04 / 15.10
請參閱:http://dinohsieh.blogspot.tw/2015/10/ubuntu-1510-wily-werewolf-release.html
安裝完【語言支援】後,直接登出再登入即可
登入後,再到右上角鍵盤圖案進行數入法設定
這時就可以把自己常用的中文輸入法加進來
這邊是選擇【新酷音】輸入法

2016年8月20日 星期六

使用 App Inventor編寫Android APP

過去在試著寫Android App時,都是使用(安裝)Android Studio (https://developer.android.com/studio/index.html) 及JAVA才能編寫程式,現在有一個先的選擇:App Inventor 2

其實App Inventor一、二年前就已經出現了,只是當時實在有點難用 (應該是自已不知道如何使用),目前App Inventor 2看起來比較親民(有嗎?看起來都一樣)。

教學網站 / 首頁:http://www.appinventor.tw/ai2

App Inventor 2,不需要安裝任何軟體,唯一需要的是安裝模擬器,如果你用手機測試自己的程式,那連模擬器也不用安裝,但是並不建議這樣做,最好還是安裝模擬器,比較建議是安裝BlueStacks。

BlueStacks 首頁:http://www.bluestacks.com/

這樣就可以用遊覽器來編寫程式了,使用 Google Chrome進入下列網址,並使用Google 帳號登入即可
開發網站:http://ai2.appinventor.mit.edu/

這是我用App Inventor 2編寫的計算機APP
程式碼的一小部分,編寫程式就像堆疊積木一樣
看不懂英文指令,也能切成中文
在BlueStacks測試的畫面
如果要安裝在手機上測試,因為這尚未通過Google認證(畢竟是自己寫的),所以手機必須設定 "允許安裝來源不明的應用程式"
為什麼要寫一個已經有的APP,主要是確認自己也能寫出一隻像樣的APP
在這附上計算機APK連結:https://www.dropbox.com/s/09b8atatr9s9z5a/Calculator.apk?dl=0

雖然有些小BUG,不過這真的是可以用的喔

2016年5月23日 星期一

AirDroid 3 手機資料與電腦同步的另一方案

上次介紹DAEMON Sync作為手機照片與電腦同步的方法,這次要介紹AirDroid 3 ,AirDroid 3 主要可以不用安裝PC版軟體可以透過WEB作為傳輸介面,而且也不限照片傳輸,可以傳輸文件
首頁:https://www.airdroid.com/
可以不需要下載任何軟體,只要在手機安裝AirDroid 3
電腦進入WEB網頁:http://web.airdroid.com/
手機執行AirDroid 3
點選手機AirDroid 3 APP內的QR Code圖案,如下圖黑框處,有點小
點選後拍攝網頁上的QR Code
當然是立即登入啦
這時要注意,手機與電腦必須在同一個網路區域中(連上同一個網路分享器),如不在同一網路區域將無法連結
手機登入後,電腦網頁就會出現連線模式,也會顯示連線手機狀態
這時就可以進行檔案傳輸
開啟照片資料夾
選取要下載【手機傳給電腦】的照片
選好後,點選下載按鈕
只要是一張照片以上會以壓縮檔方式下載
如欲中斷連結,只要點手機上的【連結中斷】按鈕即可
網頁就會出現已停止的視窗
要重新連結,只要再點【重新連結】即可