為何break寫在前而不是在后?為何要 n = n +1
sum?=?0 x?=?1 n?=?1 while?True: ????if?n?>?20: ????????break ????sum?=?sum?+?x ????x?=?x?*?2 ????n?=?n?+?1 print?sum
為何break寫在前而不是在后?為何要 n = n +1? ??(?????)?
sum?=?0 x?=?1 n?=?1 while?True: ????if?n?>?20: ????????break ????sum?=?sum?+?x ????x?=?x?*?2 ????n?=?n?+?1 print?sum
為何break寫在前而不是在后?為何要 n = n +1? ??(?????)?
2018-09-16
舉報
2018-09-17
break可以在后面 ? n=n+1是因為題目要求20項相加 ? 用n來計算到第20項
2018-09-17
確實可以放在后面但是有一點需要注意:放在后面因為你是先做判斷后計算。
代碼注釋如下(這里是網頁在代碼里有中文注釋會報錯,所以主是在此供你理解)
if n > 20:
? ? ? ? break
這兩條語句是配合的,必須放在一起都放在后面來判斷n大于20就不需要再輸出第21項了。但是當n=20時還是會進入while循環執行(1)(2)(3)三條語句,此時滿足將第20項加到sum中,同時也計算了第21項的值和第21項的項數,但這兩個值的計算是多余的。所以將break判斷放在前程序更加優化,可讀性也更強。
但是無論放在前面還是后面都能滿足題目的需求。上面的代碼你直接粘貼就可以運行。