问题标签 [console-input]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
36 浏览

python - 如何检查命令行参数,如果没有,提示通过控制台输入?

这个问题是大学软件课作业的一部分。我早就放弃了,但我真的很想学习 python,所以我正在重新审视一些作业。

我创建了一个简单的代码,它将给定的英寸数转换为英尺和英寸。到目前为止,我已经能够让它检查输入是否为整数,并且是正数。最后一步是能够接受来自命令行或控制台的输入。就像标题所说,我如何检查命令行参数,如果不存在,提示通过控制台输入并完成脚本执行?

这是我在此处的帮助下制作的原始代码

如您所见,它检查输入并相应地执行。

我在这里这里做了一些搜索,但还没有找到任何可靠的东西。第一个是关于我知道的 input() 和我还不熟悉的解析。第二个让我看到了这段看起来很笨拙的代码:

当我包含命令行参数时,它仍会提示输入控制台,但否则会正确执行。当我省略命令行参数并尝试执行脚本时,我得到:

D:\Python\2>python p2e3.py
Traceback(最近一次调用最后一次):
文件“D:\Python\2\p2e3.py”,第 5 行,在
total_inches = int(argv[1])
IndexError: list index超出范围

我知道这意味着它缺少一个参数,但我不明白为什么它不跳到 else 语句,或者为什么当有命令行参数时它仍然要求控制台输入。不确定我的缩进是否错误或者我应该使用其他功能,任何帮助将不胜感激。