我的代码如下(但是不起作用):
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])
