發表文章

當一小時玩程式:「藝術家」遇到 Python Turtle Block

圖片
Python Turtle 線上版本 https://trinket.io/turtle Python Turtle Block線上版本 https://trinket.io/blocks 在 當一小時玩程式:「冰雪奇緣」遇到 Python Turtle Block 一文示範了用 Python Turtle Block來劃一些圖形。此文要來畫 Hour of code 的小藝術家(artist)  Youtube介紹影片: 闖關網址: https://studio.code.org/s/artist/stage/1/puzzle/1 第一關 HOC Block Code: Python Block Code: 第二關 HOC Block Code: Python Block Code: 第三關 HOC Block Code: Python Block Code: 第四關 HOC Block Code: Python Block Code: 第五關 HOC Block Code: Python Block Code: 第六關 HOC Block Code: Python Block Code: 第七關 HOC Block Code: Python Block Code: 第八關 HOC Block Code: Python Block Code: 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 If you like this post, please click the ads on the blog or  buy me a coffee . Thank you very much.

讀書筆記:《人生給的答案II》

我人生的錢33年都在避免失敗,但最近我開始不怕失敗,反而擔心不敢冒險,因為我相信我能挺過所有失敗。 Franklin Leonard 大部分我們焦慮的事,都不會發生,所以清空那些念頭吧!別讓焦慮在腦中白吃白住。 Peter Guber 你的夢想就是現實的藍圖。Greg Norman 敢嘗試就已經領先99%的人了。 Daniel Ek 總是問自己:我漏掉了什麼?並認真聆聽答案。 Strauss Zelnick 當你覺得自己走到盡頭時,往往正是另一段旅程的起點。 Fred Rogers 任何值得做的事情,都值得慢慢去做。 Mae West 如果你發現自己面對的是公平的決鬥之中,那表示你沒有好好計畫這項任務。 Colonel David Hackworth 溜滑板可以改變世界,好好享受過程吧! Tony Hawk 行動的結果遠比行動本身重要。 Liv Boeree 我不僅用盡自己所有夢想,還能把借來的夢想都借來一用。 Woodrow Wilson 人生的格局大小與勇氣成正比。 Anais Nin 憤怒往往是痛苦在公眾場合顯現的樣貌。 Krista Tippett 想達到最強,不是挑戰極限重量,而是找到最佳重量。 Mark Bell 獨立思考,但抱持極度開放的態度。 Ray Dalio 敢於活在灰色地帶的道德勇氣......與疑問共存。終有一天,生命會給你問題的解答。 Jacqueline Novogratz 幾乎所有所謂的專家給作家的意見都是錯誤的。 Brian Koppelman 人一生最大的恩典,就是可以做自己。 Joseph Cambell 每個人都想改變世界,卻沒有人想要改變自己。 Leo Tolstoy 別忘了,貝比.魯斯不只是全壘打王,被三振的次數也是最多的。 Steve Case 沒被別人說是瘋子,就代表夢想還不夠大! Linda Rottenberg 等以後再不顧一切地追求所愛,絕對不會比此時此刻簡單。現在就放手去做吧! Tommy Vietor 不管感覺多麼真實,現實終究只是幻象(Reality is merely an illusion, albeit a very persistent one.)。 Albert Einstein 人類歷史上,從來沒有任何一個社會因為人民變得太理性而遭殃。 Sam Harris 每天醒來,我都堅信自己...

Python 3 Tkinter介紹:一個簡易的四則運算機(A Simple Calculator with Tkinter)

圖片
本教學文章會先介紹一些常用的Python GUI 套件工具,接著會用幾個範例呈現 Python Tkinter控制項元件的用法,最後會以一個簡易的四則運算機當例子作為結尾。 常見的 Python GUI 套件工具: Tkinter :為Python內建的GUI套件。 wxPython :包裝了跨平台的GUI套件 wxWidgets ,是個開源的套件。 其他:可參考 GUI Programming in Python 。 第一個 Python 3 Tkinter 視窗 建立Tkinter視窗有幾個步驟: 匯入 Tkinter 模組。 建立主視窗。 建立視窗控制項元件。 進入事件處理迴圈以處理不同的視窗訊息。 要建立一個空白的視窗的話,可以省略第三步驟,例如底下範例: 1 2 3 4 5 6 7 8 9 10 11 12 #!/usr/bin/python # 步驟一:匯入 tkinter 模組。 import tkinter # 步驟二:建立主視窗。 mainWin = tkinter . Tk() # 視窗標題 mainWin . title( "Hello 雲林SONG" ) # 視窗大小 mainWin . geometry( "320x240" ) # 步驟四: 進入事件處理迴圈。 mainWin . mainloop() 執行結果如下: 練習題: 修改視窗的標題(Title)。 修改視窗的大小(Geometry)。 好,接下來開始慢慢加進一些控制項吧。 標籤 Label Label的用法說明如下: labelVariable = Label(主元件,參數一,參數二...) 例如若想在 第一個 Tkinter 視窗 增加一個標籤,語法如下: 1 2 labelVariable = tkinter . Label(mainWin, text = "這是標籤" ) labelVariable . pack() 詳細的參數說明可參考  https://www.tutorialspoint.com/python/tk_label.htm 。 按鈕 Button But...

Python 3 網路程式入門

圖片
在介紹如何使用Python來開發網路程式之前,請讀者先複習相關的網路知識,此部份可參考筆者的文章:「 網路程式開發者所需要的網路知識 ( Concepts for a network programmer ) 」。(題外話,若想用Java程式語言來開發網路程式的話,也可參考筆者的另一篇文章:「 Java 網路程式入門 ( Java network programming ) 」)。本文示範的作業系統為 Lubunt 18.10 ,所使用的開發工具為  VS Code (可參考筆者的兩篇文章: Python in Visual Studio Code 、 Debug Python Code in Visual Studio Code )。 網路程式通常會透過  Socket API  來撰寫,而Python的  socket 模組  提供了開發人員使用Socket的界面,這部份的細節請讀者閱讀參考資料。雖然 Network Socket 有幾種型態(底下文字取自  https://en.wikipedia.org/wiki/Network_socket#Types ): Datagram sockets , also known as  connectionless  sockets, which use  User Datagram Protocol  (UDP). Stream sockets , also known as  connection-oriented  sockets, which use  Transmission Control Protocol  (TCP),  Stream Control Transmission Protocol  (SCTP) or  Datagram Congestion Control Protocol  (DCCP). Raw sockets  (or  raw IP sockets ), typically available in routers and other network equipment. Here ...

Scratch 3 電子手錶

圖片
此篇文章會先以變數(可參考 Scratch教學篇-認識變數 )的方式說明電子手錶的程式設計,接著再設計電子手錶的畫面。 先建立三個變數:時、分、秒。 設計積木程式之前,請來思考幾件事情: 在   59秒   變成   60秒  時 ,會發生什麼事? 在   59分   變成   60分 時,會發生什麼事? 在  23時  變成  24時  時,會發生什麼事? 想清楚了嗎?來看看筆者所設計的程式和讀者您所想的有什麼不同? 來讓貓咪說出時間囉!請在 等待 1 秒 的積木附近加上底下的積木: 那要怎麼做出底下的 Scratch專案 呢? 本篇文章Scratch範例連結:https://scratch.mit.edu/projects/440547430 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 If you like this post, please click the ads on the blog or  buy me a coffee . Thank you very much.

手搖蜘蛛仿生機器人

圖片
來製作一個用手搖控制的蜘蛛仿生機器人囉! 材料: Y-S4201蜘蛛仿生機器人(本文採用 https://www.ark-handmade.com/product_view.php?id=7843 ) TT減速馬達 瓶蓋 竹筷 熱熔膠 單芯線 製作步驟 依照Y-S4201蜘蛛仿生機器人的說明書組裝,但不要裝上電池座。 將瓶蓋鑽孔及切出可以讓竹筷放進瓶蓋的切口,用熱溶膠將竹筷固定在瓶蓋上,這就是我們的手搖把手。 將單芯線焊好在TT減速馬達與蜘蛛仿生機器人的馬達兩端。 將手搖把手固定在TT減速馬上。 完成圖: 影片: 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 If you like this post, please click the ads on the blog or  buy me a coffee . Thank you very much.

給中小學生的 Python 單元二:蟒蛇計算機

圖片
哈囉,我們在上一個單元: 給中小學生的 Python 單元一:Python 安裝 完成 Windows 下撰寫 Python 程式碼的環境建立。此單元要來認識 Python 的 IDLE (可參考  Python IDLE 基本操作 )。  IDLE 視窗可以當計算機來用,我們可以稱它為蟒蛇計算機。例如在 IDLE 下輸入底下運算: 2  +  3  *  5  -  7  /  11 會得到底下結果 2 + 3 * 5 - 7 / 11 中的 * 是數學裡的乘法 , / 是數學裡的除法 。而 Python 也是先乘除後加減 的。所以這個數學運算會是  3  *  5  先算,接著算  7  /  11 。 2  +  3  *  5  -  7  /  11 =  2 + 15  -  7  /  11 = 2 + 15 - 0.63636363636 = 17  - 0.63636363636 = 16.363636363636363 Python 數學運算符號 請試著在 IDLE 輸入下面的數學運算: 9 / 7 3 + 3 3 - 2 3 * 7 1 + 2 * 3 - 4 1 * 2 + 3 / 4 看看運算結果是什麼? 什麼是變數 底下用非很精準的解釋,畢竟變數和容器還是不一樣的觀念 變數可看成容器,而容器有很多種,例如罐子、紙箱、寶特瓶、水桶、背包、鉛筆盒等。 但若是有30個人都帶著一模一樣的罐子容器時,那要怎麼辨別這個罐子是誰的啊?! 所以就給這些罐子一個獨一無二的名稱!開始來命名囉! 「豬頭 罐子 」、「空 罐子 」、「軟 罐子 」、「硬 罐子 」、「無敵 罐子 」、「我的 罐子 」、「你的 罐子 」、「不說話 罐子 」、「機器人 罐子 」、「腳 罐子 」、「黑 罐子 」、「紅 罐子 」 可以亂命名嗎?!好像不給個規則會產生一些怪怪的名稱。在程式語言裡,變數是有命名規則的,大多的程式語言通常會...