Chinese, Traditional subtitles

← 02ps-04 Proc Solution

dummy description

Get Embed Code
6 Languages

Showing Revision 3 created 08/01/2014 by Fran Ontanaya.

  1. 為了解決這個問題,你必須充分理解
  2. 原始函式 proc 的功能
  3. 舉這兩個情況,它們真正地呈現了
    這個函式 (function) 的輸出
  4. 有 2 個輸入,但輸出僅取決於 a 的值
  5. 具體而言,該程序的值取決於 test(a)
  6. 如果 test(a) 是 True,那麼我們就傳回第二個參數 b
  7. 如果 test(a) 是 False,我們傳回第一個參數 a
  8. 我們需要對於每個函式做檢查,讓我們開始仔細檢查
  9. proc1,如果 test(x) ,第一個參數是 True,我們傳回 y
  10. 這與原始函式功能一致
  11. 如果 test 第一個參數結果是 True,
    我們傳回第二個參數,如同 proc1 的功能
  12. 如果 test 第一個參數結果是 False,我們傳回參數 x
  13. test(x) 是 False,這相當於 test(a) 是 False
  14. 在這兩種情況下,我們傳回 a 和 x
  15. 唯一的不同是,在這個函式中,相同的變數但名稱不同
  16. 這是相等的
  17. 讓我們看看第二個程序 proc2
  18. 請注意,這個情況是根據 b 的值
  19. 我們知道這不可能相當於我們的原始函式 proc
  20. 因為這裡的輸出並非取決於 b 值
  21. 我們馬上就分辨出這是錯的,這不等於我們的原始函式
  22. 讓我們看看 proc3
  23. 這裡的結構有些不同,但是讓我們努力的解決這兩個例子
  24. 如果 test(a) 是 True ,
    我們設 result 為 b,然後傳回 result
  25. 和我們的原始函式相同,
    如果 test(a) 是 True,我們傳回 b
  26. 如果 test(a) 是 False,
    我們只要傳回 result, 它一開始就設為 a 值
  27. 所以整體的功能是:如果 test(a) 是 True,傳回 b
  28. 這與我們原始的函式定義相符合
  29. 因此這相等於 proc
  30. 現在,最後一個函式 proc4
  31. 它可能會擊退你,你看到 'udacity' 在引號中,
    這在其他函式中並不存在
  32. 但重要的是,我們還是要努力的解決問題
  33. 如果 test(a) 是 True,那麼 not test(a) 是 False
  34. 我們傳回 b
  35. 如果 test(a) 是 True,我們傳回 b
  36. 這與原始定義相符合
  37. 如果 test(a) 是 False,而 not test(a) 是 True
  38. 所以我們設 b 為 'udacity',但是傳回 a
  39. 如果 test(a) 是 False,我們改變 b 的值
  40. 但我們沒有做任何與它相關的事,我們只傳回 a
  41. 這個結果與我們原始的函式 proc 是相同的