< Return to Video

If/Else 條件句 第二部分 (影片版)

  • 0:01 - 0:04
    這裡是我們上次教到的擲幣遊戲
  • 0:04 - 0:07
    由產生 0 到 1 的隨機數字開始
  • 0:07 - 0:09
    我們接著將數字取到最接近的整數
  • 0:09 - 0:12
    所以這給了我們一個由 0 到 1的數字
  • 0:12 - 0:16
    然後我們用一個圓勾勒了我們的超現實錢幣
  • 0:16 - 0:19
    根據他的數字來決定他是紫色或是黃色
  • 0:19 - 0:21
    而這裡是我們的程式碼
  • 0:21 - 0:24
    所以我們說 “如果整數跟0相同,將色彩填為紫色”
  • 0:24 - 0:26
    "除此之外,則填為黃色"
  • 0:26 - 0:28
    然後我們將錢幣畫在下面這裡
  • 0:28 - 0:31
    不過我剛決定其實我的錢幣有三面
  • 0:31 - 0:32
    對,一個三面的錢幣
  • 0:32 - 0:34
    所以,讓我們加入第三面
  • 0:34 - 0:37
    一開始將數字設在 0 到 2 之間
  • 0:37 - 0:42
    四捨五入後,我們會得到 0, 1, 或 2 三個整數
  • 0:42 - 0:46
    但是我們的繪圖程式只會計算兩種情況
  • 0:46 - 0:49
    所以如果整數是 0,使其紫色
    除此之外,使其黃色
  • 0:49 - 0:52
    不過現在,除此之外可以指 1 或 2
  • 0:52 - 0:55
    但是等一下,如果我做跟剛才一樣的事情
  • 0:55 - 0:57
    但是是在這個 "else" 括號裡呢?
  • 0:57 - 1:01
    所以我要說:如果整數是 1
  • 1:01 - 1:05
    則填入黃色,跟之前一樣
  • 1:06 - 1:10
    否則,填入紅色
  • 1:10 - 1:11
    紅色不錯
  • 1:11 - 1:13
    所以這個的意思是
  • 1:13 - 1:15
    如果整數是0,填入紫色
  • 1:15 - 1:19
    除此之外,如果整數是1則填入黃色
  • 1:19 - 1:20
    除此之外
  • 1:20 - 1:25
    如果不是 0,也不是 1
    那就是 2,我們填入紅色
  • 1:25 - 1:29
    我按了重新開始幾次
    它運作了!哇呼!
  • 1:29 - 1:31
    所以如果之後我想要為錢幣加入更多的面
  • 1:31 - 1:36
    我可以到上面這裡,改為 0 到 3
    然後將 "else" 的括號變得更深
  • 1:36 - 1:38
    加入更多 "if-else",如此重複多次
  • 1:38 - 1:40
    直到我有許多個嵌套區塊
  • 1:40 - 1:45
    而我將會發現這個程式碼很噁心,我是指很雜亂
  • 1:45 - 1:49
    程式碼應該要易於閱讀而且漂亮,而不是盡可能地醜陋
  • 1:49 - 1:51
    所以以下是我要做的事情
  • 1:51 - 1:53
    當我在這個 else 括弧裡
  • 1:53 - 1:56
    只有一個 "if 述句"
    或者是一個 if-else 述句
  • 1:56 - 1:59
    意思是說我們在這些區塊外面沒有要做任何事情
  • 1:59 - 2:01
    我們沒有要設定顏色
  • 2:01 - 2:05
    我們沒有要做更多的 if 數據,我們不做任何事
  • 2:05 - 2:08
    我們所有的就是一個 if 述句,頂多可能跟著一個 else 括號
  • 2:08 - 2:13
    然後我們可以將前面的情況跟這個情況結合
  • 2:13 - 2:17
    然後說,如果這個整數跟 1 相同
    那就將填色設為黃色
  • 2:17 - 2:20
    然後這個 else括號不會在別的地方
  • 2:20 - 2:22
    只會在自己的最後面出現
  • 2:22 - 2:25
    太好了!所以現在這個的意思是
  • 2:25 - 2:27
    如果這個整數為 0,將顏色定為紫色
  • 2:27 - 2:30
    除此之外,如果整數跟 1 相同,則填為黃色
  • 2:30 - 2:34
    除此之外,如果都不是前兩者,將顏色設為紅色
  • 2:34 - 2:38
    我按了重新開始幾次,你可以看看它們仍然成立
  • 2:38 - 2:42
    太棒了!最酷的地方是
    我們可以想要有多少 "else-if" 就有多少
  • 2:42 - 2:45
    讓我更簡單地能為硬幣加入更多面
  • 2:45 - 2:48
    所以讓我們現在來試試看,我將要做一個數字介於 0 到 3 之間
  • 2:48 - 2:52
    然後加入更多 "else"
  • 2:52 - 2:56
    這代表了如果整數是 2
  • 2:56 - 3:00
    我們會將顏色設為......
    因為之前是紅色我們就繼續將它設為紅色
  • 3:00 - 3:03
    然後這個最後一個 "else" 會代表整數為 3 時
  • 3:03 - 3:08
    將其顏色填為藍色,太棒了
  • 3:08 - 3:10
  • 3:10 - 3:13
    所以為了完成這個,你必須每次都用一個"if 述句"開頭
  • 3:13 - 3:17
    然後你就可以想要多少 "else-if" 就有多少
  • 3:17 - 3:19
    然後最後面這個東西是選擇性的可有可無
  • 3:19 - 3:20
    我們沒有這個也可以完成
  • 3:20 - 3:22
    然而也有可能這些全部都是錯誤的
  • 3:22 - 3:24
    所以沒有任何一個括號會被執行
  • 3:24 - 3:27
    但是只要我們還有這些在這裡
  • 3:27 - 3:30
    那麼至少有一個括號會被執行
  • 3:30 - 3:34
    可以嗎?這裡有一件事情並不是那麼重要
  • 3:34 - 3:37
    如果你說 if else-if else-if else
  • 3:37 - 3:42
    或只是一些我們開頭就有的舊的敘述
  • 3:42 - 3:46
    所以如果整數跟 3 相同
  • 3:46 - 3:48
    這是因為絕對不可能
  • 3:48 - 3:51
    有一個整數同時是 0, 1, 2 或是 3
  • 3:51 - 3:54
    好,所以這些情況不會同時發生
  • 3:54 - 3:57
    只有一種方式會被執行
  • 3:57 - 3:58
    但不會永遠都是這樣
  • 3:58 - 4:02
    如果我們創造一個跟這個很相似的遊戲,但我們不需要取整數?
  • 4:02 - 4:04
    所以我要把取整數的這個部分刪掉
  • 4:04 - 4:07
    還有另一個將圓畫到螢幕上的部份程式碼
  • 4:07 - 4:09
    讓我們來制定一些新的規則
  • 4:09 - 4:13
    所以我仍然在創造一些介於 0 到 3 之間的數字
  • 4:13 - 4:15
    然後放一些定點在我們的數線上
  • 4:17 - 4:23
    如果說這個數字介於 0 到 1 之間,我們將它填為紫色
  • 4:23 - 4:27
    噢,這根本看起來不像一個 p,不過你懂的,ok
  • 4:27 - 4:31
    然後如果他介於 1 和 2 之間,我們將它設定為黃色
  • 4:31 - 4:36
    而如果它介於 2 和 3 之間,則設定為紅色
  • 4:36 - 4:39
    太好了。讓我們來試試如何用 "if" 和 "else-if" 來設定它
  • 4:39 - 4:44
    所以我由 “如果這個數字比1小” 開始
  • 4:44 - 4:46
    所以如果數字比 1 小
  • 4:46 - 4:50
    而我知道數字介於 0 到 3 之間
    而他一定是在這個範圍裡面
  • 4:51 - 4:53
    那麼我會將顏色設為紫色
  • 4:56 - 5:00
    除此之外,如果數字比 2 小
  • 5:01 - 5:05
    那麼我會將顏色設為黃色,255
  • 5:07 - 5:12
    除此之外,我將顏色設為紅色
  • 5:13 - 5:16
    太好了,如我們預想般地運作了
  • 5:16 - 5:20
    所以如果數字小於1
    再一次的,是這個範圍
  • 5:20 - 5:24
    除此之外,如果數字介於 1 和 2 之間
  • 5:24 - 5:27
    所以在這個範圍裡,我們將把顏色設為黃色
  • 5:27 - 5:30
    除此之外,它必定大於或等於 2
  • 5:30 - 5:32
    所以它將落在這個範圍裡
  • 5:32 - 5:33
    現在有另一個情況
  • 5:33 - 5:36
    當我們不能只說 “當數字小於2時”
  • 5:36 - 5:40
    或是 “當數字小於3”時
  • 5:40 - 5:43
    因為如果數字比1小,那麼數字就一定比2小
  • 5:43 - 5:45
    那麼也將小於3
  • 5:45 - 5:47
    所以我們的錢幣
    將永遠是紅色的
  • 5:47 - 5:51
    而這就是為什麼在這個情況裡
    有 ”else-if" 會非常有幫助
Title:
If/Else 條件句 第二部分 (影片版)
Description:

這僅是我們互動程式編輯教學的螢幕擷取,用以簡易化字幕編輯及翻譯。最好上:https://www.khanacademy.org/cs/programming/觀看我們的教學影片。

more » « less
Video Language:
English
Duration:
05:53

Chinese, Traditional subtitles

Revisions