-1

次のような関数を定義することを含むpythonでプログラムを作成しています:

def GetNumbers(): 

print('What is the coefficient of x^2?')
global xsqurd = int(input)

しかし、この関数を呼び出すと、構文エラーが返され、「=」は無効な構文であると表示されます。私は何を間違えましたか?

4

5 に答える 5

1

このようにする必要があります:

def GetNumbers():
    global xsqurd
    xsqurd = int(input('What is the coefficient of x^2? '))

Python 2.x の場合、raw_inputの代わりに使用する必要があることに注意してくださいinput

于 2013-10-03T23:16:09.983 に答える
0

グローバルを使用しないでください。ほとんどの場合、それは悪い解決策です。代わりに値を返すことを検討してください。そうは言っても、そのエラーが表示される理由は次のとおりです。

globalそのキーワードと名前だけを取るステートメントの一部です。を使用するglobalには、分割する必要があります。

global xsqurd
xsqurd = int(input)

もちろん、これは入力が他のグローバル変数であることを前提としています。Claudiu が以下で指摘したように、おそらくinput().

于 2013-10-03T23:18:03.117 に答える
0

あなたが間違っていたのは、有効な構文ではないものを書いたことです。

globalステートメントは、一連の変数名を取り、それらがグローバルであることを宣言するだけです。他の構文をランダムにスローすることはできません。

グローバルであることを宣言しようとしxsqurdていて、同じステートメントでそれを更新しようとしていた場合、それを行う方法はありません。次の 2 つのステートメントを記述します。

global xsqurd
xsqurd = int(input)
于 2013-10-03T23:18:16.780 に答える
0

これを試して:

xsqurd = None
def GetNumbers(): 
    print('What is the coefficient of x^2?')
    global xsqurd
    xsqurd = int(22)

GetNumbers()
print xsqurd

global xsqurdステートメントは割り当ての前にあることに注意してください。

于 2013-10-03T23:20:55.583 に答える