【Python】エラーメッセージ:unindent does not match any outer indentation level

pythonはインデント(行頭の空白文字の数)によって、ブロックを表現する。

2020/6/3追記。
今さらですが、pythonでは、インデントによって、処理ブロックを表現します。

if a == b:
        print('a')
    print('b')
else:
    print('a not equals b')

上記のように記述すると、print(‘b’)の行で、今回のメッセージが出ます。字下げを意識しましょう。

——————————————————————————————–

Pythonでのプログラム中、以下のメッセージが出て、少しだけはまりました。

unindent does not match any outer indentation level (<unknown>, line 36)pylint(syntax-error)

 

指摘されている行のインデントがあってないよ。ということなのですが、ソースを見直してみても、特に問題は発見できず。

以下のように対応したら、エラーが出なくなったので、報告です。

インデントは、タブキーを押すことで行っていたのですが、一度スペース一つだけに変えました。この時点で、エラーは発生しなくなっています。

だけど、なぜ?と思って、再度、タブでインデントを行ったところ、もうエラーは発生しなくなっていました。この対処を行う前と表面的には変わっていないと思われるんですが。。

何かごみのようなものが入っていたのかもしれません。とりあえず解決です。

スポンサーリンク
レクタングル大

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大

コメント

  1. albatoross より:

    class Person:
    def __init__(self,name,age):
    self.name = name
    self.age = age

    def print_younger_person_name(p1, p2):
    if p1.age <= p2.age:
    print(p1.name)
    else:
    print(p2.name)

    a = p1('高橋太朗',19)
    b = p2('小林花子',18)

    print_younger_person_name(a,b)

%d人のブロガーが「いいね」をつけました。