大一萌新求助,不知道怎么办

为什么会把3判定不在0到255之间

这是代码

while True:
    T = "Y"
    n = input()
    b = n.split(".")
    if n.count(".") != 3:
        T = "N"
        print(1)
        break
    for i in range(4):
        if "0" <= b[i]<="255":
            print(b[i])
            pass
        else:
            T="N"
            break
    print(T)

 

while True:
    T = "Y"
    n = input()
    b = n.split(".")
    if n.count(".") != 3:
        T = "N"
        print(1)
        break
    for i in range(4):
        if 0 <= int(b[i])<=255:
            print(b[i])
            pass
        else:
            T="N"
            break
    print(T)

改成上面这样就好了。原因在于你是按字符进行判断的,应该按整数类型判断

 if n.count(".") != 3:    # 这个意思是, 如果输入不是 a.b.c.d  (有 3 个 ‘.’  的格式),就停止执行。