社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

我对Python全局变量有问题。这是错误还是错误?

Unnamed • 3 年前 • 1150 次点击  

请注意,我不是一个经验丰富的程序员。这是我用全局变量编写的第二个程序。第一种语言甚至不是真正的语言

所以我用python制作了一个游戏,运行在Replit上。通用域名格式。每次最后一段代码运行时,我都会收到一个错误。

UnboundLocalError:在赋值之前引用了局部变量“playerExtraSoldiers”。

这是游戏的链接,进入文件>主要的py是代码

playerExtraSoldiers是一个有问题的变量,我尝试过重命名它,确保每个事件都拼写正确,等等。 它将此变量用作嵌套函数的一部分。定义变量并标记为“全局”的函数位于其上方,并在其之前运行。

引用变量的代码。(第175-182行)

def playerGainSoldiers():
    playerExtraSoldiers+=100*len(playerCountries)
    if(ownsNorth==1):
        playerExtraSoldiers+=250
    if(ownsCentral==1):
        playerExtraSoldiers+=600
    if(ownsSouth==1):
        playerExtraSoldiers+=350

这是一个很长的函数,我定义了很多变量。(第92-96行)

#Extra soldiers
global playerExtraSoldiers
playerExtraSoldiers=100
global opponentExtraSoldiers
opponentExtraSoldiers=100

我尝试了以下方法来修复它,但没有成功: -重新存储变量,完全删除并重写它出现的每一行。 -将零件移动到定义的位置 -通过将其移动到def Playergain士兵中,这在某一点上起到了作用,但它不能 继续重置为100,因为这会毁了我的比赛 -没有嵌套函数

如果因为某种原因第93行看起来像这样,最新版本还没有加载,这是我测试解决方案的一部分,修复它不会改变任何事情

    #global playerExtraSoldiers
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130115
 
1150 次点击  
文章 [ 1 ]  |  最新文章 3 年前