Python将随机值与字符串合并

时间:2014-04-07 05:17:55

标签: python

我想创建一个从192.168.0.1到192.168.0.11的随机IP地址范围 使用以下代码但得到错误的结果:

target = '192.168.0.',random.randint(1,11)
print'Target:',target

上述代码的结果为Target: ('192.168.0.',7)
不要显示为一个字符串。

我希望得到如下结果:Target : '192.168.0.7'
我们是问题吗?

3 个答案:

答案 0 :(得分:4)

当你说

target = '192.168.0.',random.randint(1,11)

您实际上正在创建一个元组并分配给target。您可以将数字转换为str的字符串,并将其连接起来

target = '192.168.0.' + str(random.randint(1,11))

但首选方法是使用模板字符串并使用str.format函数填充它,如此

target = '192.168.0.{}'.format(random.randint(1,11))

答案 1 :(得分:1)

您还可以使用%运算符进行旧式字符串替换。

target = '192.168.0.%d' % (random.randint(1,11))

答案 2 :(得分:0)

你必须做简单的连接,

喜欢,

>>> target = '192.168.0.'
>>> target+str(random.randint(1,11))
'192.168.0.5'
>>> 

另一个例子,

>>> target = '192.168.0.'
>>> for i in range(1,11):
          target+str(random.randint(1,11))


'192.168.0.3'
'192.168.0.1'
'192.168.0.2'
'192.168.0.4'
'192.168.0.6'
'192.168.0.7'
'192.168.0.3'
'192.168.0.11'
'192.168.0.5'
'192.168.0.11'