Day 3 - Beginner - Control Flow and Logical Operators

我覺得我們的進行方式可能要改一下。
現在新手是 Aileen & Nicole 是吧?還有其他人嗎?

我建議(有小壓力而不是大壓力),你們最好每天完成後,把 repl.it 的網址給我們,我們幫忙看。這樣效果會比每週集中一天談,要來得好。

2個讚

請問Logical Operators為什麼到not那裡,false會變成true,true會變成false ?

喔喔~
一、了解,原來是這樣。是同一階層、由上往下依序測試,遇到的第一個可滿足的條件後,就會跳出。這概念再寫的時候好像模模糊糊,sky大這樣說我就理解了

二、如果if / if / if 不縮排,是不是從頭到尾每一個條件都會分別測試,有可能一三成立、二四不成立,會有並存的結果

(6-59 Indentation in Python 我還沒上到 :sweat_smile: 我接下來會補上!)

Hi Aileen,
我也納悶過這個問題,提供給妳我解決的辦法。
把下面兩個不同狀況的code複製到Python Tutor實際看一下差異:
http://pythontutor.com/visualize.html#mode=edit
[狀況1]
a = 88
if a >= 90:
print(‘優秀’)
if a >=80:
print(‘良好’)
if a >= 70:
print(‘中等’)
if a >= 60:
print(‘及格’)
else:
print(‘當掉’)

[狀況2]
a = 88
if a >= 90:
print(‘優秀’)
elif a >=80:
print(‘良好’)
elif a >= 70:
print(‘中等’)
elif a >= 60:
print(‘及格’)
else:
print(‘當掉’)

希望對妳有幫助~ :wink: 一起加油~

2個讚

只是觀念,可以先看,當作動畫看。

2個讚

我建議新手可以一行一行的去打註解把每一行都去理解過

這個問題前幾天和 Jeff33 提過。
如果都是 if,前面的執行完,後面還是要在判斷一次。
如果是 if, elif, else ,前面只要有符合的,後面就不需再判斷。

1個讚

感謝!那我們可以貼到每一天各別的討論頁面下嗎?

作一個極端的假設範例,假設是每一分就有一個 if。而小明考99分,就會是:

方式一:每個 if 都要執行,執行101次 if(100~0)
if score == 100:
print(“100”)
if score == 99:
print(“99”)

方式二:有一個符合就跳出,這裡只執行到第二個即可。
if score == 100:
print(“100”)
elif score == 99:
print(“99”)

是的,以章節的方式寫,例如:
3-34. Logical Operators
然後附上你們的 repl.it 網址

1個讚

我覺得新手可以考慮用jupter notebook或是colab(可掛載在google雲端)去練習
因為這兩種工具有以下特點:

Debug Fast: 它可以將程式碼一個區塊的慢慢執行,不需要每次都將整個程式跑過一遍,直到出現你要的結果,你可以反覆的修改執行在同一個地方,直接完成你想像中的功能。

Display Easy: 在執行的過程,你可以輕鬆的查看過程中的變數,隨時監控結果。

2個讚

贊成。他們應該需要安裝的說明連結。

想起來,後面的章節可能會有。

2個讚

coab也可以用平板手機隨時隨地的編碼
而且只要有google帳號就可以了

1個讚

這意思是只會跟效能有關(是否全部條件跑完),但跟會不會出現error沒關嗎?

指定 變數(boolean,值就是1或0)的值,是原來的相反(not)。
你想像成這是一個電燈開關,按一下開燈、再按一下就關燈。
你想按幾下,就按幾下。
更新:開關是指切換式的,不是上下的那種

1個讚

我覺得大家在看影片的時候不要去咬文嚼字的把每句話都掰扯透,可以先有個印象然後開始實作遇到問題再回去看然後看是要不要馬上提問(可能有人剛好看到能馬上解決你的問題)或是上網搜尋能讓你更容易理解的解釋

還有我覺得從各種範例用法能幫助你更快去理解所以多去看看別人寫得程式對自己會有所幫助

2個讚

我們前進到 Day4吧。

1個讚

我這裡強調的是效能沒錯。
至於程式寫錯,每種寫法都可能會寫錯。
常錯的,就會記起來。

1個讚

插花一下:
code 的部份可以考慮這樣寫,就會有漂亮的縮排:

```text 
方式一:每個 if 都要執行,執行101次 if(100~0)
if score == 100:
print(“100”)
if score == 99:
print(“99”)

方式二:有一個符合就跳出,這裡只執行到第二個即可。
if score == 100:
print(“100”)
elif score == 99:
print(“99”) ```

==============

方式一:每個 if 都要執行,執行101次 if(100~0)
if score == 100:
    print(“100”)
if score == 99:
    print(“99”)
…
方式二:有一個符合就跳出,這裡只執行到第二個即可。
if score == 100:
    print(“100”)
elif score == 99:
print(“99”)

1個讚

https://repl.it/@b979502b979502/day-3-3-exercise#main.py

1個讚