gpt4 book ai didi

python - 如何在networkx中的函数定义中调用图形?

转载 作者:太空宇宙 更新时间:2023-11-03 21:36:04 25 4
gpt4 key购买 nike

以下是我的代码。我想将函数内部编写的图形称为ktgraph。我想知道 bdsize 为 6 有多少个节点,但是当我输入 number_of_nodes(ktgraph) 时,它是不可调用的。我该怎么做呢?

def MyBoard(bdSize):
ktGraph = nx.Graph()
ktGraph.add_node(bdSize)
for row in range(bdSize):
for col in range(bdSize):
nodeId = (row*bdSize) + col
newPositions = MoveTo(row,col,bdSize)
for e in newPositions:
nid = e[0]*bdSize+ e[1]
ktGraph.add_edge(nodeId,nid)
no = ktGraph.number_of_nodes()
return nx.draw(ktGraph, with_labels = True)

最佳答案

这是一个变量范围问题。变量 ktGraph 具有局部作用域,只能从函数内部访问。您可以从函数内部打印所需的值,返回变量并捕获它,或者只是将局部变量分配给函数外部的全局变量并自由使用它。

示例:

global_var_outside_func
def MyBoard(bdSize):
ktGraph = nx.Graph()
ktGraph.add_node(bdSize)
for row in range(bdSize):
for col in range(bdSize):
nodeId = (row*bdSize) + col
newPositions = MoveTo(row,col,bdSize)
for e in newPositions:
nid = e[0]*bdSize+ e[1]
ktGraph.add_edge(nodeId,nid)
no = ktGraph.number_of_nodes()

#referencing a global variable using global keyword
global global_var_outside_func

#assign the desired variable to it for inspection
global_var_outside_func = ktGraph

return nx.draw(ktGraph, with_labels = True)

关于python - 如何在networkx中的函数定义中调用图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53238358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com