首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未使用Python 3局部变量

未使用Python 3局部变量
EN

Stack Overflow用户
提问于 2017-03-29 16:21:46
回答 3查看 6.7K关注 0票数 -2

我正在写一个Tic Tac Toe AI,但我想定义的函数有问题。它可以简化为类似以下内容:

z = True
X = 1
y = 2

def place(X,y):
    if z = True:
        if X == 1:
            x = y

(请注意,我做了一些x‘s资本只是为了更容易在这篇文章中区分它们)。这里的问题是,我需要将y的值赋给X,但在"x=y“语句中,我得到了一个错误,即x是一个未使用的局部变量,例如,如果该IF语句中的x仅对该IF语句是局部变量,并且没有连接。

使用它进行的测试表明,函数运行后,X保持不变,并打印出旧值。在此之前的函数中没有给出错误,只有标记为x的函数是局部的。我能做些什么来解决这个问题,使x和x实际上共享数值?

我试过让go通过其他变量,但这不起作用。我曾尝试在一个值上使用全局函数来引导它,但也不起作用。

EN

回答 3

Stack Overflow用户

发布于 2017-03-29 16:24:16

您的'x‘是本地的,因为它是首先在本地定义的。对其进行全局定义,并将其标记为全局。那是,

z = True
X = 1
x = None
y = 2

def place(X,y):
    global x
    if z = True:
        if X == 1:
            x = y
票数 1
EN

Stack Overflow用户

发布于 2017-03-29 16:24:34

如果您希望从函数内部访问全局变量,则应该使用关键字global,以便函数知道在哪里可以找到此变量。

z = True
X = 1
y = 2

def place(X,y):
    global z, X, y
    if z = True:
        if X == 1:
            x = y
票数 1
EN

Stack Overflow用户

发布于 2017-03-29 16:26:35

你这里有一个打字错误:

if z = True:

它应该是

if z == True:
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43088114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档