62278


初めまして。  
プログラミング初心者としPythonを勉強している者です。

“*（星マーク）”を使って、コマンドライン上で入力したパラメータ（数字のみ）に応じて高さの異なるピラミッドのような図をコマンド上に表示するというコードを作る練習をしています。

パラメータの入力をしなかった場合、print文で自分で用意したエラーメッセージを表示するようにしたいのですが、私が書いたコードではそのためのif文の部分でエラーメッセージが表示されます。

**エラーメッセエージ**

[code]

      File "LabOrientation2.py", line 6
        if height = None
                  ^
    SyntaxError: invalid syntax
    
[/code]

下記に私のコードを書きますので、どのように間違っているのか、どうすればコードが動くかご指摘ご教授願えませんでしょうか？

**実行したコード**

[code]

    from sys import argv
    
    def pyramid(height):
        if height < 0:
            print ("ERROR: Number must be non-negative.")
        if height = None 
            print ("ERROR: Please provide parameter.")
        for i in range(height):
            print (" " * (height-i-1) + "*" * (2*i+1))
    
    pyramid(int(argv[1]))
    
[/code]


CC BY-SA 4.0
2020-01-15T20:44:22.987
62276
2022-01-17T06:01:41.867
2020-01-16T00:44:50.350
3060
37472
question
python
Pythonのプログラムを実行すると SyntaxError: invalid syntax が出る

[code]

    if height = None
    
[/code]

この行の末尾にコロンが必要です。また、代入に使う演算子である `=` と比較につかう演算子である `==` を取り違えています。

[code]

    if height == None:
    
[/code]

もっと言うと、[None との比較には `is`
を使うべき](https://pep8-ja.readthedocs.io/ja/latest/#id41)です。

[code]

    if height is None:
    
[/code]

`SyntaxError: invalid syntax` というエラーは、シンタックスエラー、つまりプログラムの表面上の構文が間違っており、Python
処理系が解釈できなかったというエラーです。このエラーが出たときは何かしらプログラムの書き方を間違っていないか注意すると良いです。


CC BY-SA 4.0
2020-01-15T21:55:09.530
62278
2020-01-16T00:11:32.307
2020-01-16T00:11:32.307
19110
19110
62276
answer