Python 定义没有';不要改变变量

Python 定义没有';不要改变变量,python,Python,由于某种原因,Money没有像应该的那样变为8;它总是保持在10点 Money = 10 Resto = 0 ApplePrice = 2 def buy(current, price): Money == current - price return Money buy(Money, ApplePrice) print(Money) 与其更改全局变量,我建议保持变量的原样&使用buy()中的返回值 函数中的计算也有问题 你会想要这个,定义你的第一个 我知道文档并没有那么

由于某种原因,
Money
没有像应该的那样变为8;它总是保持在10点

Money = 10
Resto = 0
ApplePrice = 2


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

buy(Money, ApplePrice)
print(Money)

与其更改全局变量,我建议保持变量的原样&使用
buy()
中的返回值

函数中的计算也有问题

你会想要这个,定义你的第一个


我知道文档并没有那么有趣,但请看一下,因为它将帮助您按照我们大多数人试图匹配的标准编写好的代码

功能中的货币对货币一无所知outside@PadraicCunningham同意dupe是正确的,但另一件事,应该是:
Money=current-price
,这可能会混淆OP。您的函数有一个返回值。。。您应该为accept设置一个变量,从两个角度来看,返回值
Money==current-price
是错误的。一个是使用==vs=。您的函数将
Money==current price
(一个布尔值)的值放到位底部。即使你解决了这个问题,它也不会做你认为它应该做的事情。这一切都与全球有关。。。如果有人了解这一点,那么OP早就知道了。帕德雷克,没错。你说得对,这是错误的。查看
buy
功能的第一行。您正在计算表达式,而不是赋值(我想这就是你想要做的。这不会解决任何问题。@Zizouz212这并没有让我的原始观点出错。这只是意味着存在不止一个问题。说真的,请阅读代码。使用
MONEY
作为全局变量,其值的变化与PEP8的粒度非常不一致。一个具有全大写名称的东西(例如,
常量
,或
货币
)应该是常量!
money = buy(MONEY, APPLEPRICE)
print(money)
MONEY = 10
RESTO = 0
APPLEPRICE = 2

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

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