2016-04-14 4 views
0

Я работаю над довольно большой программой, и у меня возникла странная проблема. это фрагмент кода:Почему этот метод не возвращает строку?

newColor = Player.changeColor 
a = [newColor] 

это (упрощенная версия) метод в объекте игрока (это называется методом в другом классе):

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

Но когда я печатаю переменная а, это то, что я получаю (вместо строки цвета):

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

, как я могу это исправить (так, что он будет печатать строку случайного цвета вместо этого)?

+0

Я не думаю, что весь код будет помочь вам - это 500 + -линий код не про - так популярная местная карточная игра (Таки), поэтому я не дал ее, и вы, вероятно, не должны ее просить. –

ответ

3

Вам нужно вызвать функции, чтобы заставить их выполнить и вернуть что-то.

newColor = Player.changeColor() 

Или, если changeColor не является статическим методом класса игрока,

newColor = Player().changeColor() 
+0

Справа, я забыл! Большое спасибо! (сайт не позволяет мне утверждать этот ответ в ближайшее время, поэтому я комментирую, чтобы другие люди не теряли время, отвечая на меня) –

+2

@GalA. Вероятно, вы должны просто удалить вопрос. Вопросы о глупых ошибках, подобных этому, не полезны для сайта. – Barmar

Смежные вопросы