Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 测试可变投掷误差_Python_Variables - Fatal编程技术网

Python 测试可变投掷误差

Python 测试可变投掷误差,python,variables,Python,Variables,我正在开发一个实验室测试软件——我正处于主干阶段,我只是想测试紧急停止是否能在故障发生之前识别出故障 代码如下: import sys def main(argv): currentTempAverage = 0; testingPlaced = False typeOfTesting = False issue="False" class labTesting(object): def __init__(self,currentCondition,e

我正在开发一个实验室测试软件——我正处于主干阶段,我只是想测试紧急停止是否能在故障发生之前识别出故障

代码如下:

import sys

def main(argv):
    currentTempAverage = 0;
    testingPlaced = False
    typeOfTesting = False
    issue="False"
    class labTesting(object):

def __init__(self,currentCondition,emergencyStop=0):
    self.output = labLog()
Conditions = []
    self.status = "OPEN"
    self.beginningCondition = currentCondition
    self.EndingCondition = ""
    self.output.log("Testing opened")

if float(currentCondition) > float(self.beginningCondition*1.003):
    issue="True"

if (issue=="True") and float(currentCondition) < float(beginningCondition*1.002):
        self.output.log("YIKES!")
        self.status="CLOSED"

    if (emergencyStop):
        self.emergencyStop = currentCondition - emergencyStop
    self.output.log("stop loss") 

def close(self,currentCondition):
    if currentCondition > (self.beginningCondition * 1.012717049):
        self.status = "CLOSED"
        self.EndingCondition = currentCondition

def tick(self, currentCondition):




def showTesting(self):
    testingStatus = "Entry Condition: "+str(self.beginningCondition)

    self.output.log(testingStatus)
导入系统 def总管(argv): currentTempAverage=0; testingPlaced=False typeOfTesting=False issue=“False” 类labTesting(对象): def u u init u uuu(自身、当前条件、紧急状态)op=0): self.output=labLog() 条件=[] self.status=“打开” self.beginingcondition=当前条件 self.EndingCondition=“” self.output.log(“测试已打开”) 如果浮动(当前条件)>浮动(自开始条件*1.003): issue=“True” 如果(issue==“True”)和浮点(currentCondition)(self.beginingcondition*1.012717049): self.status=“已关闭” self.EndingCondition=当前条件 def勾选(自身、当前条件): def显示测试(自我): testingStatus=“进入条件:”+str(自我开始条件) self.output.log(测试状态) 基本上,它是检查级别,如果级别达到某个点-issue=true,因为它可能会成为一个问题

如果液位降低,则会执行紧急停止。取决于我怎么做,它会抛出错误

Traceback (most recent call last):
  File "/home/DDesm/Desktop/w/labtest/testing.py", line 18, in tick
    if (issue=="True") and float(currentPrice) < float(entryPrice*1.002):

     UnboundLocalError: local variable 'issue' referenced before  assignment
回溯(最近一次呼叫最后一次):
文件“/home/DDesm/Desktop/w/labtest/testing.py”,第18行,勾号
如果(issue==“True”)和浮动(currentPrice)

谢谢

您在
main
中拥有的内容可能只是希望在程序顶部运行。即使运行了
main
,这些变量也只能在本地实例化。因此,
问题
只能实例化(以及在以下位置设置为“True”):


另外,Python确实有布尔值。您可以只执行
issue=True
,然后if语句可以简化为
if-issue…

错误说明了一切,您在分配它之前引用了
issue
细分:

但是,在定义了问题的
main
中,比较发生在类的
\uuuuuu init\uuuuu
方法中。在
\uuuuu init\uuuuu
方法的范围内,没有定义问题。您可以通过将
问题
传递到
\uuuuuuuuuu init\ucode>方法来解决这个问题,如下所示:

def __init__(self,currentCondition,issue,emergencyStop=0):

main()中有一行
classlabtesting(object):
缩进关闭。这里的问题是,如果不满足第一个条件,变量
issue
尚未定义。当在
main
中写入
issue=false
时,该变量仅存在于函数
main
的范围内,因此在该函数之外无法访问,直到它被在其他地方定义。您的代码缩进不良且不完整。缩进已关闭,因为我使用了文本编辑器。很抱歉,我不完全了解您来自何处。您能详细说明一下吗?
问题在调用它的
\uuu init\uuuuuu
方法中不存在。将问题传递到
\uuuu init\uuuuuu
方法中,然后它就会出现存在于那里(它将被分配),您可以引用它。
def __init__(self,currentCondition,issue,emergencyStop=0):