iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
1
AI & Data

看對話學 Python 資料分析,用情境故事帶你入門系列 第 2

Day-2 與程式第一次接觸,學會 input(輸入) 和 print(輸出)


Python 也能夠寫出通訊軟體一樣的功能嗎? Licensed by Adobe Stock

上次 Jason 讓 Meiko 很快地進入了程式的世界,Meiko 這次帶著問題來跟 Jason 討教。

Meiko:「誒,Jason 上次你教我 print(),我回家想想,像我們常用的 Line 或是 Messenger 跟別人對話的時候,也是別人傳一個訊息過來,我看到之後,再回傳我要跟他講的話,那 Python 程式可以做到這樣嗎?」

Jason:「當然,學程式就像說話一樣,差別只是你在跟電腦說話!」

Meiko:「跟電腦說話?哪那麼簡單?我看電影裡的駭客,每個打字的速度都像機器人一樣飛快,難道寫程式不是那個樣子?」

Jason 噗呲一笑:「電影只是效果好嗎?來,讓我們再複習一下print()這個方法。」

print ("I love programming!")

Meiko:「”I love programming”,誒,Jason 你未免也太置入行銷了,我都還不知道我會不會寫程式,你就叫我打”I love programming”。對了,你上次還用程式跟我 Say Hello 其實,我還記得!」

Jason:「呵,我怕你忘記,所以從最基本的部分再重新教你一次。不錯麻,你都看得懂英文!(OS:不小心被你看穿我置入的意圖,就是要從潛意識開始讓你喜歡上程式!)」

Jason 話鋒一轉:「寫程式就像是在跟電腦對話,這邊print()的意思,就是叫電腦把括號裡面的字印出來。想要讓電腦印出 “I love programming”,就可以用 print("I love programming")。」

Meiko:「Interesting,既然程式可以輸出文字,它有辦法接收資訊嗎?好歹也要像我手機,可以傳訊息、傳圖片吧?」

Jason:「誒,你先別急!有輸出當然也可以輸入啊!你看只要打下面這行!」

input("請輸入你的名字")

Meiko:「誒,所以我現在就在框框裡面輸入我的名字就好?奇怪...怎麼左邊有一個按鈕一直在轉?」

Jason:「那是 Google Colab 在等你輸入名字啊,你趕快輸入完按一下鍵盤上的『Enter』,電腦才能把你的名字 show 出來」

Meiko:「好,那我按『Enter』一下。」

Meiko :「耶!真有印出我的名字耶!可是寫程式不只這點能耐吧?」

Jason:「當然,先不要急,像剛那行程式,通常我們在程式的世界中,不會這樣寫,我們會指定一個『變數』當作代稱,這樣我們每次要用它的時候才不用再寫一大串的字,合理吧?」

Meiko:「聽起來有道理,不過,你不寫出來,我還是不知道怎麼做!」

Jason:「也是。」

yourName =input("請輸入你的名字")
print (yourName)

Meiko:「誒,真的耶,原來可以把剛剛的輸入,設定成 yourName,然後再接著用你跟我說的 print(),把 yourName 放到 print() 的括號裡面,就可以印出『Meiko』了」

Jason:「是吧,你有沒有覺得寫程式沒那麼難啊?我這邊用 yourName 在程式裡面稱作『變數』, yourName 可以儲存妳的 input (),然後我再用 print(yourName) 的方式,把你剛剛輸入的名字印出來。」

Meiko:「好像是耶,不過我看最近很紅的 AI 大數據,都在說人工智慧有可能取代人類,真有這可能?」

Jason:「(這位小姐,你也未免也跳太快了吧!)據說 2045 年就會達到所謂的交界點,但也沒有人說得準拉,與其去擔心未來尚未發生的事,不如現在趕快讓自己...」

Jason 還沒聊完這個話題,Meiko 的手機突然響起...

Meiko:「喂!媽~怎麼了?」

Meiko 媽:「Meiko! 你信用卡帳單還沒繳耶...要不要幫你繳一繳?」

Meiko:「蛤~不用拉,你先放著,我回家就去繳囉!」Meiko 示意 Jason 她要先離開...

牛刀小試

我大寶寶~拉,看完上面這段對話,你有想到print()input()可以做什麼嗎?(心裏os,啊...不就印 "Hello! World!"?)

這邊給大家一個練習題,自己試試看做一個聊天機器人 Chatbot 的對話練習。聊天機器人 Chatbot 是這幾年蠻紅的題目,比如說電商的行銷,或是餐廳電話訂位都有可能用得到。想像一下這週六你要跟朋友聚餐,要訂個餐廳,你打電話到餐廳,服務人員會跟你說什麼嗎?這邊假設你叫做 Ben 好了,打電話去『IT厚」這家餐廳訂位...

服務人員:「這裡是『IT厚』餐廳,很高興為您服務!」

你:「你好,我要訂位!」

從這段以下你可以運用 print()input()撰寫一個對話程式

服務人員:「好的,先生請問怎麼稱呼?」

  • 你:「Ben」

服務人員:「好的,請問您要訂哪一天?」

  • 你:「9月12日」

服務人員:「好的,請問是什麼時段?」

  • 你:「晚上六點半」

服務人員:「好的,請問幾位呢?」

  • 你:「4位大人」

服務人員:「好的,請問先生手機號碼?09」

  • 你:「09xx-xxx-xxx」

完成對話

服務人員:「好的,Ben 先生,已為您預約訂位 9 月 12 日,晚上六點半,4位大人,您的手機是 09xx-xxx-xxx,我們位置替您保留 10 分鐘,還有需要其他服務的嗎?」

你:「不用,掰掰!」

上面這段對話,我們可以把服務人員的提問,當作 print()的內容,你的回應當作程式 input()的內容,並且將輸入的內容存在『變數』之中,在服務人員提問結束再全部印出來,就好比服務人員最後跟你確認訂位資訊一樣!

試試看能不能自己寫一個符合這樣的情境的聊天機器人 Chatbot 吧!Let’s go!

給大寶寶留言、分享、鼓勵

歡迎登入留言跟我分享你的成果唷!(登入不麻煩,點一下 FB 登入就可以留言了!)

1.喜歡這樣方式學 Python 的朋友請留言『+1』
2.想要知道解答,請留言『我要解答』,大寶寶再私訊給你唷!


上一篇
Day-1 初學者的逆襲,用 Google Colab 開始 Python 初體驗
下一篇
Day-3 腦波弱?讓程式協助你判斷 !學會 if-else 條件判斷
系列文
看對話學 Python 資料分析,用情境故事帶你入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
shengyu0313
iT邦新手 5 級 ‧ 2020-12-03 20:51:10

不好意思,我想要解答, 謝謝!

大寶寶 iT邦新手 5 級 ‧ 2020-12-17 10:10:22 檢舉

您好~請私訊我您的 E-mail,我下週寄解答給您唷!

大寶寶 iT邦新手 5 級 ‧ 2021-02-10 10:19:41 檢舉

Day2:https://colab.research.google.com/drive/1YXqMPqFojwIAgDJksEoFaOXY9Eqw2bIZ?usp=sharing
請參考唷!

0
PeggyC
iT邦新手 5 級 ‧ 2020-12-16 14:50:52

不好意思,我想要解答, 謝謝!

大寶寶 iT邦新手 5 級 ‧ 2020-12-17 10:10:28 檢舉

您好~請私訊我您的 E-mail,我下週寄解答給您唷!

大寶寶 iT邦新手 5 級 ‧ 2021-02-10 10:18:41 檢舉

已寄信到你的信箱囉~請收信!

0
anko
iT邦新手 5 級 ‧ 2023-08-18 17:26:18

商科同學第一次嘗試學phython,看了你生動的文章覺得有想繼續學下去的動力~~
求大大解答^^

我要留言

立即登入留言