如何在 Python 3 中打印出带编号的 IP 地址
How to print out a numbered IP Address in Python 3
假设 IP_Addresses
是 IP 地址的变量。
>>> IP_Addresses = '''
... 1.1.1.1
... 2.2.2.2
... 3.3.3.3
... '''
>>>
如果我使用这个问题的枚举解决方案,我没有得到正确的 IP 地址
>>> for number, IP_Address in enumerate(IP_Addresses):
... print(number, IP_Address)
...
0
1 1
2 .
3 1
4 .
5 1
6 .
7 1
8
9 2
10 .
11 2
12 .
13 2
14 .
15 2
16
17 3
18 .
19 3
20 .
21 3
22 .
23 3
24
>>>
期望的输出
1 - 1.1.1.1
2 - 2.2.2.2
3 - 3.3.3.3
你真的应该使用列表而不是长字符串来制作 IP_Addresses
变量:
IP_Addresses = ["1.1.1.1","2.2.2.2","3.3.3.3"]
那么你就不需要拆分输入了。
如果您坚持使用长字符串,则使用 .split("\n")
换行而不是 .
示例:
for number, IP_Address in enumerate(IP_Addresses.split("\n")):
print(number, IP_Address)
你可以用换行符分割变量,像这样:
IP_Addresses = '''
... 1.1.1.1
... 2.2.2.2
... 3.3.3.3
... '''
i = 0
IP_Addresses = IP_Addresses.split('\n')
for line in IP_Addresses:
if line and any(char.isdigit() for char in line):
i += 1
print(f'{i} - {line}')
输出:
1 - ... 1.1.1.1
2 - ... 2.2.2.2
3 - ... 3.3.3.3
假设 IP_Addresses
是 IP 地址的变量。
>>> IP_Addresses = '''
... 1.1.1.1
... 2.2.2.2
... 3.3.3.3
... '''
>>>
如果我使用这个问题的枚举解决方案,我没有得到正确的 IP 地址
>>> for number, IP_Address in enumerate(IP_Addresses):
... print(number, IP_Address)
...
0
1 1
2 .
3 1
4 .
5 1
6 .
7 1
8
9 2
10 .
11 2
12 .
13 2
14 .
15 2
16
17 3
18 .
19 3
20 .
21 3
22 .
23 3
24
>>>
期望的输出
1 - 1.1.1.1
2 - 2.2.2.2
3 - 3.3.3.3
你真的应该使用列表而不是长字符串来制作 IP_Addresses
变量:
IP_Addresses = ["1.1.1.1","2.2.2.2","3.3.3.3"]
那么你就不需要拆分输入了。
如果您坚持使用长字符串,则使用 .split("\n")
换行而不是 .
示例:
for number, IP_Address in enumerate(IP_Addresses.split("\n")):
print(number, IP_Address)
你可以用换行符分割变量,像这样:
IP_Addresses = '''
... 1.1.1.1
... 2.2.2.2
... 3.3.3.3
... '''
i = 0
IP_Addresses = IP_Addresses.split('\n')
for line in IP_Addresses:
if line and any(char.isdigit() for char in line):
i += 1
print(f'{i} - {line}')
输出:
1 - ... 1.1.1.1
2 - ... 2.2.2.2
3 - ... 3.3.3.3