(python)判断IP地址合法性

每个合法的IP地址由'.'分隔开的4个数字组成,每个数字的取值范围是0-255。 现在用户输入一个字符串 s (不含空白符,不含前导0,如001直接输入1),请你判断 s 是否为合法IP,若是,输出'Yes',否则输出'No'。

解决代码如下:

def f(s):
    lists = s.split('.')
    if len(lists) != 4:
        return 'No'
    for i in range(4):
        try:
            tmp = int(lists[i])
            if tmp not in range(0, 256):
                return 'No'
        except:
            return 'No'
    return 'Yes'


ip = input()
print(f(ip))