我有一个名为cel2fer
的简单脚本将摄氏度转换为华氏度。它看起来像这样:
Celsius = int(raw_input("Enter a temperature in Celsius: "))
Fahrenheit = 9.0/5.0 * Celsius + 32
print Fahrenheit
要在终端中输入cel2fer <ENTER>
,请输入10
之类的数字,然后输入<ENTER>
,然后输出答案。如何修改此项以便输入cel2fer 10 <ENTER>
然后输出答案?
基本上我怎么能接受一些东西作为脚本之后的输入?
答案 0 :(得分:1)
您需要使用sys.argv
, a.k.a ,命令行参数列表。
import sys
InputValue = sys.argv[1] if len(sys.argv) > 1 else raw_input("Enter a temperature in Celsius: ")
Celsius = float(InputValue)
Fahrenheit = 9.0/5.0 * Celsius + 32
print Fahrenheit
这样,如果通过命令行输入参数,将打印答案而不查询用户。但是,如果您不这样做,那么程序将询问用户。
您可能有一个读数here,以获取有关命令行参数的更多详细信息。
我希望这能引起你的注意!
编辑:添加了对浮动输入值的支持。