2017-03-27 8 views
0

最初はChoice = input("Do you " + colored("run ", 'blue')+"or " + colored("attack? ", 'blue') + "")でしたが、すべて正常に動作しました。ユーザーは入力を行い、コードは正常に続きました。しかし、これを関数に変更したいので、今はPythonインタプリタは、ユーザの入力を求める機能を完全にスキップしますか?

def func(Choice): input("Do you " + colored("run ", 'blue')+"or " + colored("attack? ", 'blue') + "")となり、pythonインタプリタはその関数を完全にスキップして入力を求めません。私はPythonには比較的新しいので、私は何かばかげたことを謝罪するが、私は答えをオンラインで見つけることができませんでした。バージョンは3.5.2です。

+0

関数を呼び出そうとしましたか? – abccd

+0

関数を呼び出すことはありますか、それとも定義するだけですか?また、 'Choice'は、パラメータではなく関数の戻り値でなければなりません。 – saulspatz

+0

私は最初にユーザー入力をせずに呼び出すことができるとは思わなかった。 –

答えて

1

あなたはちょっと混乱しているようです。関数を実行するには、関数を呼び出す必要があります。インタプリタがdef文に遭遇すると、それは定義に従って機能する。あなたがそれを呼び出さない限り、決して実行されません。

def func(): 
    choice = input("Do you " + colored("run ", 'blue')+"or " + 
     colored("attack? ", 'blue') + "") 
    return choice 

あなたは、ユーザーの入力が必要なときはいつでも、あなたは

choice = func() 

または類似した何かを書く:あなたのような何かをしたいです。変数は両方の場所で同じ名前を持つ必要はありません。

関連する問題