python - 我可以更改 python 方法中的变量吗?

标签 python

我正在尝试制作一款游戏,但遇到了无法解决的障碍。这是我无法理解的代码部分

from random import randint
apple = (0, 0)
def placeApple():
    apple = (randint(0, 19), randint(0, 19))
    fillCell(apple[0] * 20, apple[1] * 20, appleColor)
print(apple)

我觉得这应该将 apple 更改为具有 0 到 19 随机整数的点,但是当我在控制台中调用 print(apple) 时,我总是得到 (0, 0)

最佳答案

是的,您可以声明全局苹果(不推荐):

def placeApple():
    global apple
    apple = (randint(0, 19), randint(0, 19))
    fillCell(apple[0] * 20, apple[1] * 20, appleColor)

或者返回它:

def placeApple():
    apple = (randint(0, 19), randint(0, 19))
    fillCell(apple[0] * 20, apple[1] * 20, appleColor)
    return apple

但是对于其中任何一个,您实际上都必须调用该函数,例如对于返回选项:

apple = placeApple()
print(apple)

关于python - 我可以更改 python 方法中的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55014592/

相关文章:

python - Wagtail:序列化页面模型

python - 如何在 XPath 中选择第二个 div 元素?

Python:numpy.corrcoef 内存错误

c++ - 重复的 Windows 加密服务提供程序导致 Python w/Pycrypto

Python:分配变量并忽略 'IndexError'

python - 如何在不重新排列的情况下从集合中丢弃元素?

Python:性能测试,确保清理

python - 如何使用Twisted查看OAuth2.0认证的Gmail

python - Django:获取连接到某些实例集的所有实例

Python 无法与 Minecraft 服务器的子进程通信