[英]Syntax Error While Learning Loops
我是“如何像計算機科學家一樣思考”的第6章“迭代/循環遍歷”的初學者。
在這本書中,二維表的語法如下:
i=1
while i <= 6:
print 2*i, ' ',
i=i+1
print
但是,這樣做會導致語法錯誤。 終端給了
File "<stdin>", line 4
print
^
SyntaxError: invalid syntax
我知道第二個打印語句是不必要的,刪除它可以糾正錯誤。 但是,本書后面的一行解釋說第二條打印語句旨在在打印水平表之后創建新的一行。 因此,我認為這可能是拼寫錯誤。 我嘗試了幾種變體,但仍然無法解決。
外殼似乎有問題
執行您以文件形式發布的代碼段時,該代碼段將運行。 您似乎在shell中運行( <stdin>
暗示),並且在shell中,相同的代碼段對我也不起作用(在Ubuntu上為python 2.7.2)。
您不會提及文件中是否包含這些內容,或者是否手動輸入。
在后一種情況下,您的終端看起來像
>>> i=1
>>> while i <= 6:
... print 2*i, ' ',
... i=i+1
... print
File "<stdin>", line 4
print
^
SyntaxError: invalid syntax
也就是說,為了終止預期的while
子句,您必須輸入一個空行:
>>> i=1
>>> while i <= 6:
... print 2*i, ' ',
... i=i+1
...
在這里執行已經發生。
另一個解決方法是在if 1
子句中輸入要執行的內容:
>>> i=1
>>> if 1:
... while i <= 6:
... print 2*i, ' ',
... i=i+1
... print
...
2 4 6 8 10 12
>>>
...我認為這是print
語句末尾的串行逗號。 如前所述,如果您使用的是Python 3,它將變成一個函數(例如print(2*i)
)。
編輯:稍微靠近一點后,只需除去多余的print
會更容易。 沒必要 如果要打印水平表,則在初始打印語句后添加換行符沒有任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.