久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

關于Python 中出現的TypeError: missing 1 required positional argument

瀏覽:139日期:2022-06-28 15:02:40

問題描述

開始學習python正在看數據結構 關于圖的部分 這個是在實現一個圖的深度優先遍歷 和 廣度優先遍歷,但是在最后,也就是g.add_nodes([i+1 for i in range(10)])會顯示TypeError: add_nodes() missing 1 required positional argument: ’nodelist’ 就完全不知道該怎么去解決,有沒有大神可以指點一下。

這個是我的程序

class Graph(object):

def __init__(self, *args, **kwargs): self.node_neighbors = {} self.visited = {}def add_nodes(self,nodelist): for node in nodelist:self.add_node(node)def add_node(self,node): if node not in self.add_nodes():self.node_neighbors[node] = []def add_edge(self,edge): u, v = edge if(v not in self.node_neighbors[u]) and (u not in self.node_neighbors[v]):self.node_neighbors[u].append(u)if(u!=v): self.node_neighbors[v].append(u)def nodes(self): return self.node_neighbors.keys()def depth_first_search(self, root=None): order = [] def dfs(node):self.visited[node] = Trueorder.append(node)for n in self.node_neighbors[node]: if not n in self.visited:dfs(n) if root:dfs(root) for node in self.nodes():if not node in self.visited: dfs(node) print(order) return orderdef breadtg_frist_search(self, root = None): queue = [] order = [] def bfs():while len(queue) > 0: node = queue.pop() self.visited[node] = True for n in self.node_neighbors[node]:if (not n in self.visited) and (not n in queue): queue.append(n) order.append(n) if root:queue.append(root)order.append(root)bfs() for node in self.nodes():if not node in self.visited: queue.append(node) order.append(node) bfs() print(order) return order

if name == ’__main__’:

g = Graph()

g.add_nodes([i+1 for i in range(10)])g.add_edge((1, 2))g.add_edge((1, 3))g.add_edge((2, 4))g.add_edge((2, 5))g.add_edge((4, 8))g.add_edge((5, 8))g.add_edge((5, 9))g.add_edge((3, 6))g.add_edge((3, 7))g.add_edge((7, 10))g.add_edge((9, 10))print(’nodes:’ + g.nodes())order = g.breadtg_frist_search(1)order = g.depth_first_search(1)

問題解答

回答1:

def add_node(self,node): if node not in self.add_nodes():self.node_neighbors[node] = []

if node not in self.add_nodes():中的add_nodes()需要參數,具體要什么看你自己了.

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 重庆市| 红安县| 资溪县| 贞丰县| 阳信县| 海南省| 景泰县| 武宁县| 嘉善县| 建昌县| 吉隆县| 广水市| 阿拉尔市| 湄潭县| 渑池县| 石楼县| 千阳县| 胶州市| 武功县| 六安市| 崇信县| 呼和浩特市| 漠河县| 安塞县| 本溪| 泾川县| 清原| 寻乌县| 泌阳县| 营山县| 凤翔县| 工布江达县| 曲阳县| 高邑县| 西贡区| 宜宾县| 闽清县| 九龙城区| 阜城县| 中宁县| 南溪县|