[課程討論] Day 3 - Beginner - Control Flow and Logical Operators

Day 3課程討論
Day 3 - Beginner - Control Flow and Logical Operators
3-27. Control Flow with if / else and Conditional Operators
3-28. [Interactive Coding Exercise] Odd or Even? Introducing the Modulo
3-29. Nested if statements and elif statements
3-30. [Interactive Coding Exercise] BMI 2.0
3-31. [Interactive Coding Exercise] Leap Year
3-32. Multiple If Statements in Succession
3-33. [Interactive Coding Exercise] Pizza Order Practice
3-34. Logical Operators
3-35. [Interactive Coding Exercise] Love Calculator
3-36. Day 3 Project: Treasure Island

在閏年的練習當中我寫了跟課堂老師不一樣的code, 有帶入幾個數字進去應該是沒問題(?)
也因此想問問大家:

  1. 要用什麼方法比較好確定自己的code沒問題?(以這題為例)
  2. 寫法的不同是否會造成電腦運算速度的差異? 若會造成,怎麼樣的寫法比較好?

以下附上code:

if year % 400 == 0:
print(“leap year”)

elif year % 100 == 0:
print(“Not leap year”)

elif year % 4 == 0:
print(“leap year”)

else:
print(“Not leap year”)

使用python就不要去想程式效率問題,先求解決問題為重

1 Like

建議程式碼盡量用block區塊比較不會有空格被markdown語法吃掉的情況喔。

if year % 400 == 0:
    print(“leap year”)
  1. 以學到這邊的進度來看,可能還是要窮舉法。
    附上所有閏年的數列:A189917 - OEIS (每400年重覆)。
    一種是乖乖一個年份一個年份的輸入。
    另一種是仿效老師在Test code裡的寫法,讓程式自動幫你測試。https://repl.it/@appbrewery/day-3-3-test-your-code

  2. 會的喔,小弟有撰寫到一半的系列文就有提到(明明目前就只有一篇而已 :sweat_smile:)
    簡化邏輯的小技巧-1 - #2 by Blucas0707
    有興趣可以參考一下,希望小弟不會富堅。

2 Likes

感謝分享與回復 :grinning:
剛剛試了下Test code 覺得蠻神奇的 希望之後也能自己寫!
期待你之後的簡化小技巧囉