GITHUB REPO:https://github.com/sunnysinghnitb/color_detector
区别:两个文件中的代码相同。但是,color\u detection1.py(70行)和color\u detection2.py(75行)之间的唯一区别在于,第二个文件中的整个代码都已放入def colo()函数中。颜色检测2.py的第1、73、75行的变化
所需输出:只需运行颜色检测1.py并在输出图像上双击。这将显示该特定像素的RGB值
问题:颜色检测1.py文件运行正常,双击即可生成所需输出(RGB值),而颜色检测2.py则无法生成所需输出。为什么会这样?为什么颜色检测2.py与颜色检测1的工作原理不同
编辑:假设以下是一些工作正常的python代码(color\u detection1.py):
.....
...
..
.....
现在,将此代码放入函数中(color\u detection2.py):
def colo():
.....
...
..
.....
return
colo()
问题是两种代码的工作方式不同。代码1按预期工作,而代码2部分工作。为什么会这样
你的问题是范围问题。在这里设置全局
这一切都很好,但一旦将函数定义放在另一个函数中,您就将需要访问它的范围从
global
更改为nonlocal
把它改成这个应该行得通
调试的第一步应该是确定程序的进度。一点日志记录可以走很长的路
在
if (clicked):
中放置一个记录器会向您显示clicked
永远不会是True
,即使您尝试在函数中设置is在
if
语句外部和函数内部放置一个将显示它是在函数中定义的,而不是在函数外部定义的这使您可以进一步缩小问题的范围,并且可以发布可复制的代码段
相关问题 更多 >
编程相关推荐