2016-04-14 9 views
0

私はかなり大きなプログラムに取り組んでおり、私は厄介な問題に遭遇しました。 これは、コードスニペットです:なぜこのメソッドは文字列を返しませんか?

newColor = Player.changeColor 
a = [newColor] 

これは(の簡易版)であるPlayerオブジェクト(それは別のクラスのメソッドによって呼び出されます)での方法:

colors = ["red", "blue", "yellow"] 
chosenColor = random.choice(colors) 
    return chosenColor 

しかし、私は印刷します変数aが、これは私が(代わりに色の文字列の)何を得るされています(それはこれの代わりにランダムな色の文字列を出力するように)

[<bound method Player.changeColor of <__main__.Player object at 0x0241B510>>] 

は、どのように私はそれを修正することができますか?

+0

私は、全体のコードはあなたを助けるとは思わない - それはない約500 + -linesコードです地元で人気のある地元のカードゲーム(タキ)なので、私はそれを知らず、おそらくそれを求めてはいけません。 –

答えて

3

関数を実行して何かを返すためには、関数を呼び出す必要があります。

newColor = Player.changeColor() 

あるいは、changeColorプレーヤークラスの静的メソッドではない場合、

newColor = Player().changeColor() 
+0

右、忘れました!どうもありがとうございました! (サイトではすぐにこの回答を承認することはできませんので、他の人が自分の時間を無駄にしないようにコメントします) –

+2

@GalA。あなたはたぶんその質問を削除するべきです。このような愚かなエラーに関する質問はサイトにとって有用ではありません。 – Barmar

関連する問題