не поддерживается между экземплярами 'str' и 'int' - PullRequest
0 голосов
/ 08 мая 2020

Я все время получаю эту ошибку '>' не поддерживается между экземплярами 'str' и 'int' как мне это исправить

def is_valid_ip_address(numberlist):
    y = (list(numberlist.split(".")))
    z = len(y)

    if y[0] > 0 and y[0] < 255 and z < 4 and y[1] > 0 and y[1] < 255 and z < 4 and y[2] > 0 and y[2] < 255 and z < 4 and y[3] > 0 and y[3] < 255 and z < 4 and y[4] > 0 and y[4] < 255 and z < 4:
        print("true")
    else:
        print("false")

is_valid_ip_address("500.3.55.3")

1 Ответ

0 голосов
/ 08 мая 2020

Ваш анализ IP-адреса неверен. Он оставляет части IP-адреса в виде строк, а не целых чисел. И вы не можете сравнивать строки с целыми числами.

Попробуйте это:

def is_valid_ip_address(numberlist):
    y = list(map(int, numberlist.split(".")))
    z = len(y)

    if y[0] > 0 and y[0] < 255 and z < 4 and y[1] > 0 and y[1] < 255 and z < 4 and y[2] > 0 and y[2] < 255 and z < 4 and y[3] > 0 and y[3] < 255 and z < 4 and y[4] > 0 and y[4] < 255 and z < 4:
        print("true")
    else:
        print("false")

is_valid_ip_address("500.3.55.3")

Вывод:

false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...