我试图使用嵌套for循环来打印值192.168.42.0-255和192.168.43.0-255。

for i in range(42, 43):
    for y in range(0, 255):
        ip = "192.168." + str(i) + "." + str(y)
        print ip

打印的只是值192.168.42.0-255。似乎没有变为192.168.43。

最佳答案


>>> range(42,43)
[42]

您的代码可以通过将第一个更改为range(x,y)而将第二个更改为range(42,44)(或仅更改为range(0,256))来修复。
If you want to get rid of the nested loops altogether, you can use a generator expression:
for ip in ('192.168.{}.{}'.format(i,j) for i in (42,43) for j in range(256)):
    print(ip)

关于python - 如何构造此嵌套的for循环?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35026139/

10-11 22:58
查看更多