我是python的新手,我在这里练习(http://www.learnpython.org/page/Loops)。对于以下代码:
numbers = [
951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544,
615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941,
386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345,
399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217,
815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717,
958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470,
743, 527
]
# your code goes here
for number in numbers:
if number <= 237 and number%2 == 0:
print number
我遇到了以下问题:
Traceback (most recent call last):
File "/base/data/home/apps/s~learnpythonjail/2.365841894475711898/main.py", line 75, in execute_python
exec(code, {})
File "<string>", line 14
print number
^
IndentationError: expected an indented block
我可以知道如何解决它吗?
答案 0 :(得分:5)
错误表示print
没有缩进超出前一行if
行的级别。
如果在您的编辑器中看起来print
行无论如何都是正确缩进的,那么您将不一致地混合制表符和空格。用空格替换所有选项卡以进行更正。
您可以将大多数编辑器配置为仅使用空格 进行缩进;这是Python styleguide (PEP 8)推荐的内容:
标签或空格?
切勿混合标签和空格。
缩进Python最流行的方法是仅使用空格。第二种最流行的方式是仅使用标签。使用制表符和空格混合缩进的代码应转换为仅使用空格。当使用-t选项调用Python命令行解释器时,它会发出有关非法混合制表符和空格的代码的警告。使用-tt时,这些警告会出错。强烈推荐这些选项!
对于新项目,强烈建议仅使用空格。大多数编辑都具有使这很容易做到的功能。
答案 1 :(得分:2)
以下是您的代码在编辑器中的显示内容,该编辑器显示带有标签的所有空白字符(标签大小设置为4):
小点是空格字符,箭头是制表符。如其他答案所述,混合标签和空格是一个坏主意。上面的代码可能看起来不错,但看看如果将标签大小更改为8个字符会发生什么:
这是您看到的错误的根本原因。当您混合制表符和空格时,您在编辑器中看到的缩进可能与Python解释器看到的缩进不同。
答案 2 :(得分:1)
我重现了你的情况:if语句前面有一个表,打印前有8个空格。请仅使用空格。