Python:使用递归时出错

Python:使用递归时出错,python,recursion,Python,Recursion,我已经编写了一个函数,我尝试调用它,但它返回了一个错误 # create a graph with all active nodes G = nx.erdos_renyi_graph(100, 0.05) pos = nx.spring_layout(G) G.add_nodes_from(G.nodes(), color='blue') nx.draw_networkx_nodes(G, pos, G.nodes(), node_size=20, node_color='b') nx.dra

我已经编写了一个函数,我尝试调用它,但它返回了一个错误

# create a graph with all active nodes

G = nx.erdos_renyi_graph(100, 0.05)
pos = nx.spring_layout(G)
G.add_nodes_from(G.nodes(), color='blue')
nx.draw_networkx_nodes(G, pos, G.nodes(), node_size=20, node_color='b')
nx.draw_networkx_edges(G, pos, alpha=0.3)

def step(G, x, y):
color = nx.get_node_attributes(G, 'color')
for (key, value) in zip(color, color.values()):
    if value == 'blue':
        neighbours = G.neighbors(key)
        inactive_neighbours = []
        for n in neighbours:
            if color[n] == 'red':
                inactive_neighbours.append(n)
                if inactive_neighbours:
                    chosen_neighbour = random.sample(neighbours, 1)
                    if np.random.random() < x / (x + y):
                        activate = []
                        activate.append(chosen_neighbour)
                        G.add_nodes_from(activate, color='blue')

        if np.random.random() < y / (x + y):
            deactivate = []
            deactivate.append(key)
            G.add_nodes_from(deactivate, color='red')

print(nx.get_node_attributes(G, 'color'))
i = 3
while 2 < i < 100:
    step(G, 0.5, 1)
    i += 1

step(G, 0.5, 1)
#创建包含所有活动节点的图形
G=nx.鄂尔多斯-仁义图(100,0.05)
位置=nx.弹簧布置图(G)
G.add_nodes_from(G.nodes(),color='blue')
nx.draw_networkx_节点(G,pos,G.nodes(),node_size=20,node_color='b')
nx.绘制网络x_边(G,位置,alpha=0.3)
def步骤(G、x、y):
color=nx。获取节点属性(G,“color”)
对于zip(color,color.values())中的(键,值):
如果值==“蓝色”:
邻居=G.邻居(键)
不活跃的邻居=[]
对于邻居中的n:
如果颜色[n]=“红色”:
非活动的\u邻居。追加(n)
如果邻居不活跃:
选择的邻域=随机样本(邻域,1)
如果np.random.random()
它返回给我一个错误
ValueError:没有足够的值来解包(预期为2,得到1)
。 我做错了什么?
如何调用函数在某个时间执行它?

您能给出完整的堆栈跟踪吗?无法找出引发此错误的行。我想看看
zip(color,color.values())
到底给出了什么。我怀疑这行是罪魁祸首。@Afaq包含所有代码,但没有导入libraries@karlson颜色是一本字典,它看起来像
{0:'红色'、1:'蓝色'、2:'红色'、3:'红色'、4:'红色'、5:'红色'、6:'红色'、7:'红色'、8:'红色'、9:'蓝色'、10:'红色'、11:'蓝色'、12:'红色'、13:'红色'、14:'蓝色'、15:'红色'、16:'红色'、17:'红色'、18:'红色'、19:'红色'、20:'红色'、21:'红色'、22:'红色'、23:'红色'、24:'蓝色'、25:'红色'、26:'蓝色'、27:'红色'、28:'蓝色'、29:'蓝色'、,32:'red',33:'red',34:'red',35:'red',36:'blue',37:'red',38:'blue',39:'red',40:'red',41:'red',42:'red',43:'blue',44:'blue'}
请改用字典的
items()
方法。