使用argparse模块来实现用户输入图的顶点和权值边等信息。
时间: 2024-02-22 18:58:35 浏览: 79
好的,让我给你一个使用argparse模块实现用户输入图的顶点和权值边的例子。
```python
import argparse
def parse_args():
parser = argparse.ArgumentParser(description="Prim's algorithm for minimum spanning tree")
parser.add_argument("nodes", type=int, help="number of nodes in the graph")
parser.add_argument("edges", type=int, help="number of edges in the graph")
parser.add_argument("-w", "--weights", nargs="+", type=int, help="weights of the edges")
parser.add_argument("-s", "--start", type=int, help="starting node for Prim's algorithm")
args = parser.parse_args()
return args
if __name__ == "__main__":
args = parse_args()
print(args.nodes)
print(args.edges)
print(args.weights)
print(args.start)
```
在这个例子中,我们使用argparse模块来解析命令行参数。用户需要输入图的顶点数(nodes)和边数(edges),并可以选择输入每条边的权值(weights)和Prim算法的起始节点(start)。
在命令行中输入以下命令,可以看到argparse模块解析出来的参数:
```python
python prim.py 5 7 -w 1 2 3 4 5 6 7 -s 0
```
输出:
```
5
7
[1, 2, 3, 4, 5, 6, 7]
0
```
这个例子只是一个简单的使用argparse模块的例子,你可以根据实际需求来调整参数和参数类型。在Prim算法中,你需要将解析出来的参数传递给算法函数,从而实现对指定图的最小生成树的求解。
阅读全文