【发布时间】:2020-10-01 15:37:03
【问题描述】:
我在 Jupyter 中使用 Python 有一定的经验,但对如何使用命令行却一无所知。我有家庭作业的提示 - 我了解算法的工作原理,但我不知道如何格式化所有内容,以便它以指定的方式从命令行工作。
提示:
问题 1:80 分
输入:指定旅行问题的文本文件(参见 travel-input.txt 对于格式)和搜索算法 (更多详情如下)。
python map.py [file] [search]应该是 来自“文件”的旅行问题并运行“搜索”算法找到 一个解法。它将打印解决方案及其成本。搜索是其中之一 [DFTS、DFGS、BFTS、BFGS、UCTS、UCGS、GBFTS、GBFGS、ASTS、ASGS]
这是给我的模板:
from search import ... # TODO import the necessary classes and methods
import sys
if __name__ == '__main__':
input_file = sys.argv[1]
search_algo_str = sys.argv[2]
# TODO implement
goal_node = ... # TODO call the appropriate search function with appropriate parameters
# Do not change the code below.
if goal_node is not None:
print("Solution path", goal_node.solution())
print("Solution cost", goal_node.path_cost)
else:
print("No solution was found.")
就python map.py [file] [search] 而言,“文件”指的是travel-input.txt,“搜索”指的是DFTS, DFGS, BFTS,...等之一——用户指定的选择。我的问题:
- 我应该把我的搜索功能放在哪里?它们是否应该都在同一个代码块中背靠背?
- 如何让命令行从四个或五个字母的代码中识别每个函数?它只是函数的名称吗?如果我只使用这些字母来调用它,函数如何接收输入?
- 是否需要在代码中的任何位置引用输入文件?
- 我保存文件的位置是否重要,以便可以从命令行访问它们 - .py 文件、travel-input.txt 等?我尝试从命令行访问它们,但没有成功。
感谢您的帮助!
【问题讨论】:
标签: python-3.x command-line argv