[英]Syntax error in Python IDLE (Mac OS X) because of indentation
我以為這將很容易回答,但是我搜索了所有內容,卻找不到答案。 我正在學習Python並嘗試運行一些非常簡單的代碼,但是每次在縮進塊之后嘗試執行某些操作時,都會遇到語法錯誤。 例如:
x = [1,2,3];
for i in x:
print(i);
print('finished');
運行此代碼時,我在print('finished')部分收到語法錯誤。 每當我嘗試通過在循環或if語句之類的塊之后縮進來運行任何內容時,都會出現此錯誤。 我在Mac OS X Lion的IDLE中運行Python 3.2.3。
更新:似乎這並不像我想的那么容易,也許我正在嘗試使沒有意義的事情起作用。 我猜想外殼程序僅在運行縮進的塊時才運行多行語句,但是回到頂層后,外殼程序將執行該語句。 由於我通常將使用文件,因此很可能最終在Django中將不再重要。 感謝所有令人驚奇的快速響應。
至少我的Ubuntu系統上的python
交互式解釋器需要換行符才能結束代碼塊:
>>> x = [1,2,3];
>>> for i in x:
... print(i);
... print('finished');
File "<stdin>", line 3
print('finished');
^
SyntaxError: invalid syntax
>>> x = [1,2,3];
>>> for i in x:
... print(i);
...
1
2
3
>>> print('finished');
finished
有趣的是, python
解釋器在腳本上運行時不需要空白行:
$ cat broken.py
#!/usr/bin/python
x = [1,2,3];
for i in x:
print(i);
print('finished');
$ ./broken.py
1
2
3
finished
$
取出所有分號。
x = [1,2,3]
for i in x:
print(i)
print('finished')
在print(i)
之后插入換行符(也在Windows上 )
x = [1, 2, 3]
for i in x:
print(i)
print('finished')
您是否要在IDLE的默認Python Shell
窗口中輸入此代碼? 最好打開一個IDLE編輯器窗口(菜單項File
> New Window
),然后從那里運行代碼(菜單項Run
> Run Module
)。 在shell窗口中縮進會造成混亂,並且很難糾正錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.