使用python的全新,需要帮助弄清楚为什么我的命令行吐出大量的数字而不是我传入的var的序列。这是我到目前为止所拥有的:
import sys
def fib(n):
a, b = 0, 1
while a < n:
print a
a, b = b, a+b
if __name__ == "__main__":
fib(sys.argv[1])
在我做sys.argv [1]或[1:]之前,我能够按照我想要的数字输入n。即如果我输入n为12,我会得到0,1,1,3,5,8这是正确的。但是,我不能让这个工作。 def fib(n)之后我做了一个print语句:print n。它会返回我的sys.argv传递。
我哪里错了?谢谢你的时间。
答案 0 :(得分:6)
不要忘记将输入参数(字符串)转换为整数类型:
fib(int(sys.argv[1]))
答案 1 :(得分:1)
尝试fib(int(sys.argv[1]))
,这可能是问题所在,但我没有尝试过。