想要繁殖,不要重复变量

时间:2013-12-05 13:56:56

标签: python

我想输入一个命令行变量,然后将其相乘,但是当我打印变量时,它会重复我希望乘以它的数字。

例如:

#!/usr/bin/env python3
import sys
st_run_time_1 = sys.argv[1]*60

print ("Station 1 : %s" % st_run_time_1)

当我运行脚本时,我得到以下内容:     python3 test.py 2

Station 1 : 222222222222222222222222222222222222222222222222222222222222

2 个答案:

答案 0 :(得分:8)

sys.argv[x]是字符串。将字符串乘以数字casue重复字符串。

>>> '2' * 5         # str * int
'22222'

>>> int('2') * 5    # int * int
10

要获得乘法数字,请先使用intfloatsys.argv[1]转换为数字对象,....

import sys
st_run_time_1 = int(sys.argv[1]) * 60 # <---

print ("Station 1 : %s" % st_run_time_1)

答案 1 :(得分:1)

您将字符串与整数相乘,这总是意味着重复。 Python不会自动将字符串强制转换为整数,sys.argv始终是字符串列表。

如果您想要整数运算,请先将sys.argv[1]字符串转换为整数:

st_run_time_1 = int(sys.argv[1]) * 60