将sys.argv转换为整数

时间:2014-08-28 08:32:25

标签: python loops casting

我试图在python中调用函数时通过提示传递的参数列表循环我希望将sys.argv [1]作为整数而不是字符串

这是我在函数

中编写的代码
x=[1,2,3,4,5]
for n in x:
    print sys.argv[1] * n

如果我用5接收

来调用上一个功能
    5
    55
    555
    5555
    55555

我怎么才能收到

5
25
125
625

任何想法可能是什么解决方案

2 个答案:

答案 0 :(得分:2)

import sys
x=[1,2,3,45]
try:
    for n in x:
        print int(sys.argv[1]) * n
except IndexError:
    print "No argument were passed to the program"

<强>输出:

enter image description here

答案 1 :(得分:1)

只需这样做

x=[1,2,3,45]
for n in x:
    print int(sys.argv[1]) * n

但是要小心,如果你传递的任何东西都不能被投射到一个字符串中或者你没有传递任何东西,这个解决方案就会爆炸。因此,您可能希望通过tryexcept块捕获任何异常。