问题描述
大家好,我正在检查图中的循环
import networkx as nx
X2 = {"1": ["4"],"2": ["3"],"3": ["2","4"],"4": ["1","3"]}
L2 = []
for k,v in X2.items():
for i in range(len(v)):
L2.append((k,v[i]))
print(L2)
G = nx.DiGraph(L2)
G = G.to_undirected()
print(type(G))
print(nx.find_cycle(G))
raise nx.exception.NetworkXNoCycle('No cycle found.')
networkx.exception.NetworkXNoCycle: No cycle found.
解决方法
使用“try”和“except”关键字,阅读python中的异常处理。
基本上你需要:
try:
your_function_call(arguments)
except nx.exception.NetworkXNoCycle as e:
print("Found the no cycle exception)
,
您在这里寻找的是错误处理。对于您想要的错误,它就像 if
一样。
您可以通过 try/except
块实现这一点。更多详情here。
import networkx as nx
X2 = {"1": ["4"],"2": ["3"],"3": ["2","4"],"4": ["1","3"]}
L2 = []
for k,v in X2.items():
for i in range(len(v)):
L2.append((k,v[i]))
print(L2)
try:
G = nx.DiGraph(L2)
G = G.to_undirected()
print(type(G))
print(nx.find_cycle(G))
except:
print("Error message")