Python 放置一个额外的最低成本节点=None来进行变量声明
我正在学习Dijkstran算法并阅读以下代码:Python 放置一个额外的最低成本节点=None来进行变量声明,python,Python,我正在学习Dijkstran算法并阅读以下代码: #dijkstra algorithms def find_lowest_cost_node(costs): #cost is a dict lowest_cost = float("inf") lowest_cost_node = None for node in costs: cost = costs[node] if cost < lowest_cost and co
#dijkstra algorithms
def find_lowest_cost_node(costs):
#cost is a dict
lowest_cost = float("inf")
lowest_cost_node = None
for node in costs:
cost = costs[node]
if cost < lowest_cost and cost not in processed:
lowest_cost = cost
lowest_cost_node = node
return lowest_cost_node
dijkstra算法
def查找最低成本节点(成本):
#成本是一个问题
最低成本=浮动(“inf”)
最低成本节点=无
对于节点成本:
成本=成本[节点]
如果成本<最低成本且未处理成本:
最低成本=成本
最低成本节点=节点
返回最低成本节点
我非常好奇最低成本节点
声明最低成本节点=无
如果我将其注释掉,该函数将正常工作,
为什么要额外努力将
最低成本\u node=None
放在标题部分 它处理空指令的特殊情况
当前代码优雅地返回None
,而您建议的修改将在运行时失败,并出现UnboundLocalError
异常
另外,您的代码中有几个错误,但我没有解决它们,因为您的问题与它们无关。下面是什么PEP?