Python 入門教學
《Anaconda安裝 & 猜拳遊戲實作》
你跟我一樣嗎?曾經想學習程式語言,卻不知從何下手?在這邊推薦程式語言初學的讀者們,以 Python 為你的第一步!
為什麼會推薦使用 Anaconda ?
因為 Anaconda 提供使用者:簡易操作的 UI ,避免操作一開始對於終端機陌生的初學者;此外,Anaconda 包含了許多資料分析師會使用的基礎 Python 套件,有助於分析做矩陣運算的 Numpy ,可以做到樞紐分析、欄位加總的 Pandas ,畫長條圖、折線圖等視覺化工具的 Matplotib ,甚至是讓使用者在網頁介面上開發和維護 Python 語言的Jupyter。
第一步:下載 Anaconda (https://www.anaconda.com/ )
如下圖所示,點選Download下載後,選擇你的作業系統 (Windows/ Mac/Linux ),接著選擇你的系統位元 (32位元或是64位元)。
第二步:安裝 Anaconda (依照預設安裝,default 設定即可)
第三步:認識 Anaconda Spyder Python 介面
接下來就來使用 Python 吧!先打開 Anaconda Navigator,看到上方畫面後,開啟 Spyder。
其介面左邊的區塊是程式碼編輯區塊,編寫後的程式碼即使在Spyder關閉重啟後,程式碼仍然會保留;右上方的資料區變數資料區,可以查看變數的狀況和檔案的位置;右下方的介面區塊,可以顯示程式碼執行的結果。
讓我們用 Python print 出 "AI free team"吧!
請讀者們在左邊的程式碼編輯區塊貼上:
print("AI.Free team")
點選 Run 執行,右下方的介面區塊,就會顯示 " AI.Free team "
覺得這個太簡單?沒關係,讓我們來學個有趣的遊戲,剪刀時頭布吧!我們會用上一些指令,有上方提到的 print,加上 import(匯入)、input(輸入) 、list(列表) 、while loop 以及條件語句 if、elif 來完成這個簡單的小遊戲。
<將下列整個複製貼上至程式碼編輯區>
### 使用 random package 來讓電腦隨機出拳 import random ### 電腦的出拳選擇 computer_choices = ['石頭', '剪刀', '布'] ### 遊戲完成的條件(贏的狀況) break_conditions = [['石頭', '剪刀'], ['剪刀', '布'], ['布', '石頭']] ### 設定控制變數,讓猜拳遊戲進行 event = "keep playing" ### 用 while loop 開啟遊戲 while event == "keep playing": computer = random.choice(computer_choices) # 電腦隨機從 choices 裡面的選項出拳 user = input('請選擇此次出拳~ :') # input 為使用者的出拳選擇 if computer == user: # 如果電腦和使用者的出拳一樣則平手,繼續進行猜拳 print('平手') event == "keep playing" elif [user, computer] in break_conditions: # 如果使用者和電腦的結果出現在獲勝條件裡,則玩家獲勝 print('獲勝!') event == "WIN" break elif [user, computer] not in break_conditions: # 如果不在獲勝條件裡,則電腦獲勝 print('很可惜,您輸了') event == "LOSE" break
程式說明:
(1) 使用 import 匯入套件( random,我們希望能讓電腦在猜拳時會隨機出拳 )
(2) 接著建立一個列表,來決定猜拳時贏的狀況( win_ conditions 定義可能取得勝利的三種情況:如果玩家取得勝利,玩家出石頭時,電腦出剪刀;玩家出剪刀時,電腦出布;玩家出布時,電腦出石頭 )
(3) 設定 while loop 進行遊戲,每回合一開始,設定電腦隨機出拳,再用 input 讓玩家可以輸入出拳選項。
(4) 透過 if 去寫在猜拳時會發生的所有狀況,如果電腦跟玩家出一樣,例如兩人都出剪刀、布或石頭,就會發生平手,即可 print('平手') 給予使用者 Feedback。
(5) 用 elif 設定其他猜拳結果,如果電腦跟玩家出拳的結果在 win_conditions 裡,就代表玩家贏了 print('獲勝'),並停止遊戲 ( 使用break來終止while loop )。
(6) 出拳結果不一樣且也不在win_conditions裡,就代表電腦贏了 ( 使用print('很可惜,您輸了') )
看完上面程式碼,是不是依然對於 Python 相關語法一頭霧水呢?接下來將有更細節的文章,提供給大家認識 Python 更多基礎語法喔!
若有其他疑問或建議,歡迎讀者朋友們跟我們進一步互動! (AI.Free.Team@gmail.com)