Skip to main content
 首页 » 编程设计

python之如何使用 while 循环计算 IP 地址中第一段的长度

2025年05月04日7del

我的代码如下(但是不起作用):

IP_address = "216.3.122.18"   
seg_1_len = 0   
 
for char in IP_address:   
        while char != ".":   
            seg_1_len += 1   
            print(seg_1_len)   
        if char == '.':   
            break   

请您参考如下方法:

为什么要在 for 循环中运行 while 循环。 char 变量已经在每次迭代中存储 IP 地址的每个字符。因此只需检查 char 是否为 .,然后停止,否则在每次迭代中将 seg_1_len 递增 1。如果您像现在这样使用 while 循环,它将在第一次迭代时进入无限循环。好好想想!!

试试这个:

IP_address = "216.3.122.18"   
seg_1_len = 0   
 
for char in IP_address:   
    if char == '.':   
        break   
    else: 
        seg_1_len+=1 
print seg_1_len 

输出:

3 

根据你的问题,如果你仍然想使用 while 循环,那么这样做:

IP_address = "216.3.122.18"   
seg_1_len = 0 
 
i=0 
while IP_address[i] != ".":   
    seg_1_len += 1   
    i+=1 
print(seg_1_len)  

或者如果你想要一些pythonic :D

print len(IP_address.split(".")[0])