前幾天我買了一本叫做「Python for Kids(For Dummies)」的書。 在47頁有一個簡單的代碼塊的例子:基本代碼誤區
a = 2
while a < 10:
a = a + 1
print (a)
這導致順序:
3 4 5 6 7 8 9 10
我覺得這個結果不正確,因爲:
- 「儘管在代碼的第一行中聲明,但「2」仍未打印出來。
- '10'被打印出來,即使10與自身相等(違反條件
a < 10
)。
即使我使'while'條件a <= 10
,它打印出數字3到11,這又是不正確的。
我覺得應該是正確的代碼如下:
a = 2
while a < 10:
print (a)
a = a + 1
,導致:
2 3 4 5 6 7 8 9
這是我從代碼期待。我玩了一些代碼,有趣的是,Python允許一些奇怪的安排,可執行沒有錯誤,但完全不正確!例如:
a = 2
while a < 30:
a = a + 5
print (a)
這會導致只有數字'32',這似乎是不正確的。
如果我縮進print (a)
由4個空格,我得到:
7 12 17 22 27 32
這也似乎是不正確的。你能向我解釋爲什麼我會得到這些輸出嗎?
代碼逐行執行。打開while循環,你會很容易地看到增量和打印是在檢查下一個條件之前完成的 –
你真的不應該認爲除了你之外的每個人都是錯的。 – user2357112
歡迎來到計算機編程的奇怪世界:) –