SyntaxError: «невозможно назначить вызов функции» - PullRequest
12 голосов
/ 11 мая 2011

Эта строка в моей программе:

invest(initial_amount,top_company(5,year,year+1)) = subsequent_amount

заставляет меня получить эту ошибку:

SyntaxError: can't assign to function call

Как я могу это исправить и использовать значение вызова функции?

Ответы [ 4 ]

17 голосов
/ 11 мая 2011

Синтаксически эта строка не имеет смысла:

invest(initial_amount,top_company(5,year,year+1)) = subsequent_amount

Вы пытаетесь присвоить значение для вызова функции, как говорится в ошибке.Что вы пытаетесь достичь?Если вы пытаетесь установить subsequent_amount в значение вызова функции, измените порядок:

subsequent_amount = invest(initial_amount,top_company(5,year,year+1))
5 голосов
/ 11 мая 2011

Вы написали присваивание задом наперед: чтобы присвоить значение (или выражение) переменной, эта переменная должна быть слева от оператора присваивания (= в python)

subsequent_amount = invest(initial_amount,top_company(5,year,year+1))
1 голос
/ 11 мая 2011

Вы назначаете вызов функции:

invest(initial_amount,top_company(5,year,year+1)) = subsequent_amount

, что запрещено в Python. Вопрос в том, что ты хочешь делать? Что делает invest()? Я полагаю, он возвращает значение, а именно то, что вы пытаетесь использовать как subsequent_amount, верно?

Если так, то что-то вроде этого должно работать:

amount = invest(amount,top_company(5,year,year+1),year)
0 голосов
/ 10 августа 2018

Вы сделали это задом наперед, должно быть:

amount = invest(amount,top_company(5,year,year+1),year)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...