我想创建一个从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'
我们是问题吗?
答案 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'