在p5.js中,有一个名为map()的函数,它将某个范围内的值映射到另一个范围内的另一个值。vanilla javascript 中是否有类似的方法?
var count = 0;
var NumbOfNodes = function(root){
if(root.left != null){
NumbOfNodes(root.left);
}
count++;
if(root.right != null){
NumbOfNodes(root.right);
}
return count;
}
Run Code Online (Sandbox Code Playgroud)
所以我有这个函数来计算树中节点的数量。它是一个递归函数。当我将 count 设为全局变量时,该函数会工作并返回正确的值。问题是,我希望 count 成为函数的一部分。但是如果我在函数内部声明 count ,它会不断重置并且我不会从函数中得到正确的答案。
那么,有没有办法在递归函数中保留变量的值。这个问题可以在许多其他编码实践中帮助我。
我想要什么(图表):树 --> NumbOfNodes() --> 给我节点数。但我不想只为它创建一个全局变量。
谢谢!
我很难将我的 python 代码转换为 exe。在我使用 pyinstaller 将我的代码转换为 exe 后,它给我一个错误,提示我在运行它时缺少导入。这是完整的日志:
Traceback (most recent call last):
File "new.py", line 1, in <module>
File "/Users/name/opt/anaconda3/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 493, in exec_module
exec(bytecode, module.__dict__)
File "nsepython/__init__.py", line 1, in <module>
File "/Users/name/opt/anaconda3/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 493, in exec_module
exec(bytecode, module.__dict__)
File "nsepython/rahu.py", line 6, in <module>
File "/Users/name/opt/anaconda3/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 493, in exec_module
exec(bytecode, module.__dict__)
File "pandas/__init__.py", line 179, in <module>
File "/Users/name/opt/anaconda3/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 493, in exec_module
exec(bytecode, module.__dict__)
File "pandas/testing.py", line 5, in <module>
File "/Users/name/opt/anaconda3/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 493, in …Run Code Online (Sandbox Code Playgroud)