

この様なプログラムなのですが、elseがどうもおかしい様です。ターミナルで実行してみると、SyntaxError: invalid
syntaxと出てきます。何方か解決策をご教授願います。

[code]

    a = input("数字を入力してください。a=")
    a = int(a)
    
    if a%4 == 0 and a%100 != 0:
        print("これは閏年です。")
    
        if a%400 == 0:
            print("閏年です。おめでとう。")
    
            else:
                print("閏年ではありません")
    
[/code]


CC BY-SA 4.0
2022-03-21T12:06:57.483
87951
2022-03-21T15:38:32.150
2022-03-21T12:08:44.340
3060
51891
question
python
pythonでelseを含むとエラーが出ます。対処法が全くわかりません。


`if-else` のインデントが揃っていないのが原因に見えます。

**修正後:**

[code]

        if a%400 == 0:
            print("閏年です。おめでとう。")
    
        else:
            print("閏年ではありません")
    
[/code]


CC BY-SA 4.0
2022-03-21T12:10:00.697
87952
2022-03-21T12:10:00.697
3060
87951
answer


質問されているエラーの解決策としてcubickさんの回答は正しいです。ただ、おそらくコーディングしたいのはうるう年を判定するロジックと推測します。それならインデントを揃えて構文としてエラーが無くなってもロジックとしては誤っています。もし課題なら答えになってしまいますが、下記は正しいロジックと構文の例です。

[code]

    if a % 400 == 0 or (a % 4 == 0 and a % 100 != 0):
        print("閏年です。")
    else:
        print("閏年ではありません")
    
[/code]


CC BY-SA 4.0
2022-03-21T15:38:32.150
87953
2022-03-21T15:38:32.150
45045
87951
answer