iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0

資料跟變數的有趣用法

上一篇,我們跟 AI 一起研究了什麼是「變數」與「指派」。所以像是 x = 4 這樣的程式碼,就是將x這個變數指派為4

然後我們來看看前面幾天,我們在跟 AI 對話時,有一個步驟,就是貼上類似底下的文字:

我目前是小學?年級的學生。

我已經理解以下的程式概念:[
  "資料與流程",
  "數字",
  "字串",
  "布林值",
  "陣列(Array)",
  "字典(Dictionary)",
  "集合(Set)",
]

請用我能理解的方式解釋「變數與指派」的概念

我們可以重新用「資料」與「變數」的概念來重寫一下這段文字:

grade = "四"
terms = [
  "資料與流程",
  "數字",
  "字串",
  "布林值",
  "陣列(Array)",
  "字典(Dictionary)",
  "集合(Set)"
]
topic = "變數與指派"

我目前是{grade}年級的學生,我目前已經理解的程式概念包括{terms},這次我想學習{topic}的概念。
請先確認我的年級與已知的概念,再開始對話。

在上面我們做了這幾件事:

  • grade 這個變數設為 "四" 這個字串
  • terms 這個變數設為一個陣列,並在這個陣列裡放了 6 個字串,分別是我們在這幾天理解的概念。
  • topic 這個變數設為 "變數與指派" 這個字串
  • 最重要的,我們在最後一句寫下一個句子,這個句子裡有三個地方,分別用花括號 {} 包住了對應的變數。

這麼一來,AI (或者程式碼),就知道要將這些位置的字,用上面指派變數時用的"值",也就是等號後面的那些資料,填到最後一句裡,變成一個完整可以理解的句子。

而再之後的日子裡,我們不需要辛苦的找到要改字詞倒底是在哪個位置。而是可以很方便的直接修改最上面變數指派等號後的那幾個值,留著最底下的句子不動。


流程是什麼意思呢?

當我們之前提到流程時,很多時候,就是一些單純的計算。例如搭計程車時,台北市的計程車起跳 85 元,超過 1.25 公里之後,每 200 公尺 5 元。先來看一下下面這段程式碼

distance_km = 2


distance_m = distance_km * 1000
extra_distance = distance_m - 1250
price = 85 + (extra_distance // 200) * 5

看不懂的話,請 AI 幫忙解釋

我們先假裝不知道這段程式碼是做什麼用的,先來請 AI 幫忙解釋。先貼上以下這段話,我們直接來讓 AI 猜猜看這段程式碼是怎麼運作的。

底下是一段 python 程式碼,你可以試著解釋看看它的功用是什麼,並詳細解釋每一步做了什麼事嗎?先給我口語的解說,另外也要在每一行程式碼上面加上註解。請注意輸出的符號要是合法的程式符號。

    ```python
    distance_km = 2
    
    distance_m = distance_km * 1000
    extra_distance = distance_m - 1250
    price = 85 + (extra_distance // 200) * 5
    ```

特別注意我們在計算中用了一個特別的符號 //,看看 AI 有沒有解釋吧。如果沒有很懂,也可以請 AI 多舉幾個例子。

把程式跑起來

我們來複習一下第一天做的事,先把這段程式碼貼到 Visual Studio Code 編輯器裡。並存檔成 taxi.py

這次我們改用 Visual Studio Code 內建的終端機來跑,按下上方的[終端機],並選擇[新增終端]

編輯器下方就會出現嵌在編輯器裡的終端機了。一樣分別輸入 cd Desktop (要注意這邊會因為存檔的位置不同而改變),接著用 python taxi.py 來運行。

營火前的小測驗:改改看程式吧!

  • 如果要把搭乘的公里數改成三公里,要修改哪裡呢?
  • 你能指出有哪些資料、它們的型別是什麼嗎?
  • 你能指出有哪些變數跟變數指派嗎?各個變數的型別又是什麼?
  • 如果起跳價改成 100 元,要修改哪裡呢?

地圖又解開了一些些

我們只剩下三個概念要理解,就可以解開整個新手村的地圖了。加油!


上一篇
Ch 5. 除了提問之外,AI 可以先講解,也能出測驗
系列文
Just enough code with AI: 給新手們的程式設計世界觀7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言