< Return to Video

If/Else 第一部份 (影像版)

  • 0:01 - 0:04
    你或者並不認識這個函式:隨機
  • 0:04 - 0:07
    它有兩個參數:下限跟上限
  • 0:07 - 0:11
    在這兩個參數間任意產生一個數字
  • 0:11 - 0:14
    這個程式所產生的數字
    將會介乎於0和1之間
  • 0:14 - 0:18
    我們把這個數字以"text"函式
    呈現在右邊的畫板上
  • 0:18 - 0:22
    括號裡的最後兩個參數
    是文字的x和y坐標
  • 0:22 - 0:26
    我們能用"textSize"和"fill"
    來設定文字的大小和顏色
  • 0:26 - 0:28
    要是我反覆按「重設」數次
  • 0:28 - 0:30
    你就能看到隨機產生出來的數字
  • 0:30 - 0:34
    你也能看到這些數字的精準度
    能達到小數點後三位
  • 0:34 - 0:35
    現在的問題是...
  • 0:35 - 0:38
    我怎麼才能產生零或一
    這樣的整數呢?
  • 0:38 - 0:42
    我們可以用這個叫做“round”的函式
  • 0:42 - 0:46
    它能讓任何一個帶有小數點的數字
  • 0:46 - 0:48
    四捨五入成距離最近的整數
  • 0:48 - 0:52
    讓我來新增一個叫做“integer”的變數
  • 0:52 - 0:54
    設定"round“函式
  • 0:54 - 0:56
    我們也可以把它顯示在屏幕上
  • 0:56 - 0:58
    只要使用"text"函式就行了
  • 0:58 - 1:00
    先寫text(interger
  • 1:00 - 1:06
    坐標是160和350
  • 1:06 - 1:12
    它顯示出0.2314被四捨五入成0
  • 1:12 - 1:18
    要是我改為4.6,捨入後就成為了5
  • 1:18 - 1:21
    所以,如果我想隨機產出0或1
  • 1:21 - 1:24
    我能把這個隨機而來
  • 1:24 - 1:27
    在0與1之間的的數字
  • 1:28 - 1:31
    放進"round"函式裡
  • 1:31 - 1:33
    就像這樣,我把"number"
  • 1:33 - 1:35
    這樣抄過來
  • 1:35 - 1:37
    你現在能看到
  • 1:37 - 1:40
    每當隨機而來的數字小於0.5
  • 1:40 - 1:41
    它就會被捨入成0
  • 1:41 - 1:45
    而當隨機而來的數字大於或等於0.5
  • 1:45 - 1:47
    它就會被捨入成1
  • 1:48 - 1:51
    也許你能聯想到一種類似於扔硬幣的遊戲
  • 1:51 - 1:55
    如果你扔得的結果是0
    你的朋友就得給你一塊錢
  • 1:55 - 1:58
    如果你扔得的結果是1
    你的朋友就得給你十塊錢
  • 1:58 - 1:59
    這遊戲不錯,對吧?
  • 1:59 - 2:02
    我們來看看這個扔硬幣的遊戲是怎麼玩的吧!
  • 2:02 - 2:03
    我們用一些圓形
  • 2:03 - 2:06
    來充當硬幣
  • 2:06 - 2:11
    我要在畫布中間畫數個圓形
  • 2:11 - 2:12
    這就是我們的硬幣了
  • 2:12 - 2:15
    噢!它把數字擋住了!
    我們把數字移高一點吧
  • 2:17 - 2:21
    好了,我在想,要是我扔到0
  • 2:21 - 2:23
    我就讓硬幣呈紫色
  • 2:23 - 2:28
    要把硬幣呈紫色
    我只要用"fill"填上紫色就行了
  • 2:29 - 2:33
    要是我扔到1
    我就讓硬幣呈黃色
  • 2:33 - 2:35
    這枚硬幣是一面紫一面黃的
  • 2:35 - 2:38
    幸運的是,我們對於寫if 述句已很熟練了
  • 2:38 - 2:39
    讓這變得非常容易
  • 2:39 - 2:45
    我們只需要說如果“integer"等於0
  • 2:45 - 2:48
    (記得我們要用三個等號來表明相等嗎?)
  • 2:48 - 2:53
    我們就把圓形填成紫色
  • 2:54 - 2:58
    如果“integer"等於1
  • 2:59 - 3:01
    我們就得使用不同的"fill"函式
  • 3:02 - 3:04
    才能把圓形填成黃色
  • 3:06 - 3:09
    好了,成功了!唷呼!
  • 3:09 - 3:11
    但是,讓我們回想一下...
  • 3:11 - 3:14
    "integer"的數值永遠都只會是0或1,對吧?
  • 3:14 - 3:16
    是我們把它設計成這樣的
  • 3:16 - 3:19
    那即是說,要麼這個述句的條件為真
  • 3:19 - 3:21
    要麼這個述句的條件為真
  • 3:21 - 3:22
    永遠都會是這樣
  • 3:22 - 3:25
    我們已經討論過所有可能的情況了
  • 3:25 - 3:28
    我們現在能用稍微不同的思路來做決定
  • 3:28 - 3:32
    如果“integer”為0,硬幣便會是紫色的
  • 3:33 - 3:35
    否則就是黃色
  • 3:36 - 3:38
    你發現了嗎?
    我們並不需要在第二種情況裡
  • 3:38 - 3:41
    說”integer“等於1哦!
  • 3:41 - 3:42
    我們只需要說
  • 3:42 - 3:45
    「如果”integer“為0,就這麼做;
    其他情況時,就那麼做。」
  • 3:45 - 3:48
    在程式世界裡
    我們以"else"函式代表「其他情況」
  • 3:48 - 3:49
    來看看吧!
  • 3:49 - 3:53
    我現在要把第二個“if”條件換成“else”
  • 3:53 - 3:55
    那即是說
  • 3:55 - 3:58
    如果這些括號裡的條件為真
  • 3:58 - 4:00
    那麼就執行這個大括號內的程式碼
  • 4:00 - 4:02
    其他情況時,就執行這個大括號內的程式碼
  • 4:03 - 4:06
    有的時候我們甚至把“else”和尾括號放在同一行
  • 4:06 - 4:08
    來提醒自己
  • 4:08 - 4:10
    這兩組程式碼有非常緊密的聯繫
  • 4:10 - 4:14
    你不能用“else”,除非前面你用了“if”
  • 4:14 - 4:15
    明白了嗎?
  • 4:15 - 4:18
    這也能幫助你記住
  • 4:18 - 4:23
    不要把任何東西放在兩組程式碼之間
    例如 var y 等於0
  • 4:23 - 4:26
    不然一切就都會被打亂了!
    所以別這麼做
  • 4:27 - 4:30
    好了,現在我們認識了”if-else"這個語法
  • 4:30 - 4:33
    在我們需要從兩種可能性之間
    做取捨的時候非常有用
  • 4:33 - 4:34
    但如果我們有更多的可能性呢?
  • 4:34 - 4:37
    如果我要在0和2之間得出一個整數
  • 4:37 - 4:40
    那我就有3個可能性:0、1、2
  • 4:40 - 4:43
    那應該怎麼做呢?
    下回再續吧!
Title:
If/Else 第一部份 (影像版)
Description:

這個只是互動編程教學的擷圖,以方便配上字幕及翻譯。
到這裡看完整教學:https://www.khanacademy.org/cs/programming/

more » « less
Video Language:
English
Duration:
04:45

Chinese, Traditional subtitles

Revisions