

最近,大学でPythonの勉強を始めて本当に間もない者です.  
大学の講義で以下のようなプログラムがあり,  
実行しようとしてみたところエラーが出てしまいました.  
資料がかすれて見づらいこともあるのですが,  
自分では何が間違っているのか分からず困っています.  
また,最終的にはグラフを表示させるプログラムであることはわかるのですが  
各行のコードの意味もよくわかっていません.  
できれば,そちらについても教えていただけると幸いです.

・コード

[code]

    # -*- coding: utf-8 -*-
    
    import numpy as np
    import matpoltlib.pyplot as plt
    def f(x):
            return 2*np.sin(x)-(x**2)/8.0
    
    print("x=0:",f(0.0),"x=4",f(4.0))
    x_array=np.zeros(3)
    y_array=np.zeros(3)
    x_array(0)=0
    x_array(1)=1
    x_array(2)=2
    
    x=np.linspace(0,10,20)
    fig = plt.figure()
    plt.plot(x,f(x))
    plt.title(r'f(x)=2sin(x)-x*x/8')
    plt.xlabel(r'x')
    plt.ylabel(r'f(x)')
    plt.scatter(x_array,y_array)
    
    #plt.savefig('lec9.png')
    plt.show()
    
[/code]

・エラー

[code]

    参考コード1.py", line 11
        x_array(0)=0
                ^
    SyntaxError: can't assign to function call
    
[/code]


CC BY-SA 4.0
2019-01-12T19:13:44.257
51925
2019-01-12T20:50:55.203
2019-01-12T19:57:46.657
3605
31775
question
python3
PythonでSyntaxError: can't assign to function callが出てしまい困っています。


お疲れ様です。  
以下、３つコメントします。

（１）  
x_array[0]（ (0) が、まずい。）が正解かと思います。

（２）  
pythonのエラーメッセージは、適切だったと記憶しています。  
functionじゃないと指摘しています。

（３）  
matplotのスペルが間違っています。  
手元ではそこをそれも修正したら、実行できました。

以上


CC BY-SA 4.0
2019-01-12T20:50:55.203
51926
2019-01-12T20:50:55.203
31548
51925
answer