在Python中在字符串末尾添加整数

2024-09-24 22:22:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要生成一个以“192.168.0”开头的随机IP地址,所以基本上我只需要生成一个0到255之间的随机数,然后加到这个字符串的末尾,但问题是我不知道如何合并一个整数和一个字符串。在

到目前为止我的代码是:

import random

x=random.randint(0,255)
randIP = '192.168.0.'
randIP.append(x)
print randIP

Tags: 字符串代码import整数randomprintrandint末尾
3条回答

尝试不同的方法:formatting。可能是这样的:

import random

x=random.randint(0,255)
randIP = '192.168.0.%s' % x
print randIP

一般来说,不要使用operator.add(例如+)来处理字符串。它没有什么特别的错误,但是使用string formatting是一个很好的实践。在

试试这个:

last_octet = random.randint(0,255) # please use descriptive var names
IP_format = "{}.{}.{}.{}"
IP = IP_format.format(192,168,0,last_octet)

您的方法行不通,因为您正在字符串上使用appendappendlist向自身添加的一种方法。如果您想使用该方法,您可以:

^{pr2}$

在最后一行中,我使用了你可能不知道的两个函数的组合。在

  • map有两个参数,第一个参数是一个函数(在本例中是str,例如str(192) > "192"),第二个参数是iterable(在本例中,listIP_list,但是iterables是任何可以使用for循环的函数)。{3}中的一个名为give}的元素应用于一个不同的函数。在Python2中,它返回一个list

  • ".".join显式调用str.join。它接受iterable作为参数(见上文),并在iterable的每个元素之间放置str".".join(["192","168","0","255"])给你"192.168.0.255"。{cd21}中的一个{cdp>经常把

可以使用+=运算符进行追加,但需要先使用strx转换为字符串:

import random

x=random.randint(0,255)
randIP = '192.168.0.'
randIP += str(x)
print randIP

相关问题 更多 >