IP 地址迭代,为什么我不必在 for 循环中嵌套"x"?



我正在完成Python MasterClass挑战程序1.我了解从解决方案到最后一行的所有内容。我们必须确定有效/无效的IP地址中的片段和段的长度。

我知道这将准确地显示片段的数量和段的长度,但是为什么最终行不必依靠for循环呢?我该如何从稀薄的空气中调用任意的" x"?它没有参考任何变量或str?我正在尝试了解系统的思维过程。

我的代码如下:

ip=input('Please enter your ip address.')
numsegment = 1
lensegment = 0
for x in ip:
    if x == '.':
        print('Segment {} contains {} 
characters.'.format(numsegment,lensegment))
        numsegment+=1
        lensegment=0
    else:
        lensegment+=1
if x != '.':
    print('Segment {} contains {} characters.'.format(numsegment,lensegment))

python for循环使用分配。这有一些副作用,其中之一是,即使在循环块退出后,用于迭代的名称也将存储上次迭代期间的值。

for num in [1, 2, 3, 4, 5]:
    pass
print(num)
#  5

最新更新