Я хочу вернуть логическое значение в зависимости от того, является ли указанным адресом правильный IPv4-адрес или нет. У меня возникла проблема со всем(), встроенным в python. Я просмотрел документацию на нем, и это кажется прямым. Говоря это, я не могу заставить его работать для моего выражения. Если бы вы могли объяснить, как это работает, и как я могу исправить свой код, это было бы здорово.Проверка правильности адреса IPv4
def IPv4_address(address):
lst_split_address = address.split(".")
slice_split_address = [int(num) for num in lst_split_address[1:]]
if address.count(".") != 3:
return False
elif address == "":
return False
else:
if all(slice_split_address) >= slice_split_address[0]:
return True
else:
return False
print IPv4_address("10.20.30.40")
Спасибо, это действительно помогло мне. Извините, что так долго отвечал, был занят. Хотите знать, какие требования для IPv4-адреса? числа должны быть последовательно больше, за исключением первого номера? Нелегко найти точные требования. – eeskonivich
Существуют специальные IP-адреса, но они не являются «недействительными». И нет требования, чтобы число было больше, чем предыдущее. Например, '192.168.0.254' или' 192.168.178.1' являются вполне допустимыми IP-адресами. – xZise