什么方式 "x is used prior to global declaration"? python 2
完整代码在这里:
http://pastebin.com/gG4JLNsX
这里
:
每当我启动我的程序时,我都会收到一条错误消息
有谁知道如何修理它? 我尝试了一切,我环顾了这些问题,也有所有人 Python 3, 或定义 "x", 之前声明变量本身是全局的。 我宣布在确定之前在全球范围内 "x", 因此,我看不到这一点。
EDIT: 我也定义了 lvl = 1 在开始,但它不会改变任何东西。 我定义了 lvl 在功能中 curveSetup//, 在其余部分之前有效。
http://pastebin.com/gG4JLNsX
这里
:
import random
def newGame//:
curveSetup//
printStatistics//
def curveSetup//:
global curve
curve = random.randint/12,35/
global lvl
lvl = 1
def printStatistics//:
global expMax
expMax = /lvl*curve/
global lvl
print "Character Level: "+str/lvl/
newGame//
每当我启动我的程序时,我都会收到一条错误消息
Warning /from warnings module/:
File "D:\Code\PyRPG.py", line 64
global lvl
SyntaxWarning: name 'lvl' is used prior to global declaration
有谁知道如何修理它? 我尝试了一切,我环顾了这些问题,也有所有人 Python 3, 或定义 "x", 之前声明变量本身是全局的。 我宣布在确定之前在全球范围内 "x", 因此,我看不到这一点。
EDIT: 我也定义了 lvl = 1 在开始,但它不会改变任何东西。 我定义了 lvl 在功能中 curveSetup//, 在其余部分之前有效。
没有找到相关结果
已邀请:
2 个回复
小姐请别说爱
赞同来自:
在他的全球宣布之前
, 所以, "姓名 'lvl' 习惯了全球广告". 这只是一个警告,因为存在
任何地方都有特色
全球的。 代码仍然有效。 摆脱警告,移动
在此功能使用之前:
实际上
在此功能中根本不需要。 如果你才有必要
改变
全局变量。 这里,该值仅在计算中使用而不改变
.
请注意,您的计划非常滥用全局。 正如您所看到的,它使逻辑变得困难。 全局变量应该很少使用,理想情况下,对于不改变并且不需要广告的常量。
. 我更喜欢课程,而不是一个国家。
詹大官人
赞同来自:
意味着您使用变量
, 它在功能外定义。 所以,
必须存在于功能之外。
但是,你永远不会定义
. 你必须在某个地方写一些
, 在任何引起它的功能之前。
注意
不是
是一个定义
.