2024-09-24 22:22:01 发布
网友
我需要生成一个以“192.168.0”开头的随机IP地址,所以基本上我只需要生成一个0到255之间的随机数,然后加到这个字符串的末尾,但问题是我不知道如何合并一个整数和一个字符串。在
到目前为止我的代码是:
import random x=random.randint(0,255) randIP = '192.168.0.' randIP.append(x) print randIP
尝试不同的方法:formatting。可能是这样的:
import random x=random.randint(0,255) randIP = '192.168.0.%s' % x print randIP
一般来说,不要使用operator.add(例如+)来处理字符串。它没有什么特别的错误,但是使用string formatting是一个很好的实践。在
operator.add
+
试试这个:
last_octet = random.randint(0,255) # please use descriptive var names IP_format = "{}.{}.{}.{}" IP = IP_format.format(192,168,0,last_octet)
您的方法行不通,因为您正在字符串上使用append。append是list向自身添加的一种方法。如果您想使用该方法,您可以:
append
list
在最后一行中,我使用了你可能不知道的两个函数的组合。在
map有两个参数,第一个参数是一个函数(在本例中是str,例如str(192) > "192"),第二个参数是iterable(在本例中,listIP_list,但是iterables是任何可以使用for循环的函数)。{3}中的一个名为give}的元素应用于一个不同的函数。在Python2中,它返回一个list。
map
str
str(192) > "192"
IP_list
for
".".join显式调用str.join。它接受iterable作为参数(见上文),并在iterable的每个元素之间放置str。".".join(["192","168","0","255"])给你"192.168.0.255"。{cd21}中的一个{cdp>经常把
".".join
str.join
".".join(["192","168","0","255"])
"192.168.0.255"
可以使用+=运算符进行追加,但需要先使用str将x转换为字符串:
+=
x
import random x=random.randint(0,255) randIP = '192.168.0.' randIP += str(x) print randIP
尝试不同的方法:formatting。可能是这样的:
一般来说,不要使用
operator.add
(例如+
)来处理字符串。它没有什么特别的错误,但是使用string formatting是一个很好的实践。在试试这个:
您的方法行不通,因为您正在字符串上使用
^{pr2}$append
。append
是list
向自身添加的一种方法。如果您想使用该方法,您可以:在最后一行中,我使用了你可能不知道的两个函数的组合。在
map
有两个参数,第一个参数是一个函数(在本例中是str
,例如str(192) > "192"
),第二个参数是iterable(在本例中,list
IP_list
,但是iterables是任何可以使用for
循环的函数)。{3}中的一个名为give}的元素应用于一个不同的函数。在Python2中,它返回一个list
。".".join
显式调用str.join
。它接受iterable作为参数(见上文),并在iterable的每个元素之间放置str
。".".join(["192","168","0","255"])
给你"192.168.0.255"
。{cd21}中的一个{cdp>经常把可以使用
+=
运算符进行追加,但需要先使用str
将x
转换为字符串:相关问题 更多 >
编程相关推荐