【发布时间】:2014-03-13 03:33:31
【问题描述】:
我正在使用 Python 3 开发 Farenheiht-Celsius 转换器。我收到了一些不起作用的示例代码,但我不知道为什么。这是我的代码:
#!home/andres/Documents/Executables
import sys
f = int(sys.argv[1])
print (f, "degrees farenheit is equal to", )
print (5.0/9*(f - 32), "degrees Celsius.")
当然,我得到如下语法错误:
Traceback (most recent call last):
File "/home/andres/Documents/Executables/f2c.py", line 3, in <module>
f = int(sys.argv[1])
IndexError: list index out of range
>>>
注意事项:
我对 sys.argv 命令有一个(粗略的)理解,该命令与命令行参数一起使用。
-
我的老师打算让我调整这个代码。
$ ./f2c.py 212
212.0 华氏度等于 100.0 摄氏度。
(是的,我知道上面的部分没有显示为代码,但我不知道如何修复它。) 3. 我正在运行 Ubuntu,但仍然习惯它。原谅我的无知。
想想就是这样。谢谢!
编辑:这是我的 shell 会话,可能会有所帮助:
andres@Beta:~/Documents/Executables$ ./f2c.py
bash: ./f2c.py: /bin/env: bad interpreter: No such file or directory
andres@Beta:~/Documents/Executables$ chmod +x f2c.py
andres@Beta:~/Documents/Executables$ ./f2c.py 12
bash: ./f2c.py: /bin/env: bad interpreter: No such file or directory
andres@Beta:~/Documents/Executables$
【问题讨论】:
-
在交互式解释器中使用
sys.argv没有多大/任何意义。只有按照说明运行脚本才有意义,因为sys.argv包含来自 shell 的命令行指令。 -
你的 shebang
#!home/andres/Documents/Executables没有多大意义。
标签: python ubuntu python-3.x arguments sys