[Python学习]错误篇一:SyntaxError: invalid syntax & IndentationError: expected an indented block

REFERENCE:《Head First Python》

ID:我的第一篇[Python学习]

BIRTHDAY:2019.7.6

EXPERIENCE_SHARING:两个程序错误类型

 

1、错误类型:

>>> for each_item in movies:
    if isinstance(each_items,list):
    for nested_item in each_item: 
        print(nested_item)
    else:
        print(each_item)
        
SyntaxError: invalid syntax
>>> 

 SyntaxError: invalid syntax

意思就是“语法错误:不正确的语法”

一般是格式上漏掉或者多了些东西。或者字符格式不对。

(1)错误原因:

第二行的 each_items多了一个s

修改后:

>>> for each_item in movies:
    if isinstance(each_item,list)
    for nested_item in each_item:
        print(nested_item)
    else:
        print(each_item)
        
SyntaxError: invalid syntax

 (2)错误原因

第二行的冒号似乎和第三行的不一样,可能是中文状态下的冒号。修改试试:

>>> for each_item in movies:
    if isinstance(each_item,list):
    for nested_item in each_item:
        print(nested_item)
    else:
        print(each_item)
        
  File "<pyshell#18>", line 3
    for nested_item in each_item:
      ^
IndentationError: expected an indented block
>>> 

 出现新的错误类型:

IndentationError: expected an indented block

参考下方第二个错误类型的解决方法:

2、错误类型:

 

>>> for each_item in movies:
    if isinstance(each_item,list):
    for nested_item in each_item:                                                                                                                                    
print(nested_item) else: print(each_item) File "<pyshell#13>", line 3 for nested_item in each_item:
print(nested_item) ^ IndentationError: expected an indented block
>>>

IndentationError: expected an indented block

说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。

一句话 有冒号的下一行往往要缩进。

 

 Python语言是一款对缩进非常敏感的语言,给很多初学者带来不少困惑,即便是很有经验的python程序员,也可能陷入陷阱当中。

最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。

(参考 知乎·回答)

 

第三行缩进后:

>>> for each_item in movies:
    if isinstance(each_item,list):
          for nested_item in each_item:                                                                                                                                    print(nested_item)
    else:
        print(each_item)

        
A
B
C
1
2
3
HAPPY
['sadness', 'sorrow', 'moved']
>>>

 

posted @ 2019-07-06 16:36  bigorangecc  阅读(32004)  评论(0编辑  收藏  举报