2015-12-31 3 views
-3

По какой-то причине Money не изменяется до 8, как следует; она всегда остается на 10.Определение не меняет значение

Money = 10 
Resto = 0 
ApplePrice = 2 


def buy(current, price): 
    Money == current - price 
    return Money 

buy(Money, ApplePrice) 
print(Money) 
+4

Деньги в вашей функции ничего не знают о деньгах за пределами –

+0

@PadraicCunningham Согласен, что обман правилен, но это совсем другое дело, это должно быть: «Деньги = текущая цена», которая может смутить ОП. – Zizouz212

+0

У вашей функции есть возвращаемое значение ... вы должны установить переменную для принятия, что возвращаемое значение –

ответ

0

Вместо изменения глобальной переменной я рекомендую держать ваши переменные как они & с помощью возвращаемого значения buy();

money = buy(MONEY, APPLEPRICE) 
print(money) 

У вас также возникла проблема с вычислением в функции.

Вы бы хотели, чтобы это определило ваш constants.

MONEY = 10 
RESTO = 0 
APPLEPRICE = 2 

def buy(current, price): 
    money = current - price 
    return money 

money = buy(MONEY, APPLEPRICE) 
print(money) 

Я знаю, что документы не так уж интересно, но посмотрим по PEP8, как это поможет вам написать хороший код на стандарт, большинство из нас стараются соответствовать.

+0

Это неправильно. Посмотрите на первую строку функции 'buy'. Вы оцениваете выражение, а не задание (которое я предполагаю, это то, что вы пытаетесь сделать. Это ничего не решит. – Zizouz212

+0

@ Zizouz212, который не делает мою исходную точку неправильной. Это просто означает, что существует более одного Проблема –

+1

Серьезно, пожалуйста, прочтите код. – Zizouz212

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