Найти - Пользователи
Полная версия: проверка корректности строки
Начало » Python для новичков » проверка корректности строки
1
Alex_3001
Суть задачи: преобразовать IP-адрес из двоичной(0111011.00101101.00001101.00001010) в шестнадцатиричную систему исчисления.
И что более сложно для меня - провести проверку входного аргумента: адрес должен состоять из 4 частей, разделенных точками, числа в диапазоне, соответственно, 0-255.
подскажите, если кто в курсе, чего с этим делать
py.user.next
  
>>> int('0111011', 2)
59
>>> hex(int('0111011', 2))
'0x3b'
>>> hex(int('0111011', 2))[2:]
'3b'
>>>

  
>>> import re
>>> 
>>> def is_correct_ip(s):
...     pat = r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$'
...     if re.search(pat, s):
...         lst = map(int, s.split('.'))
...         return all(i <= 255 for i in lst)
...     return False
... 
>>> is_correct_ip('127.0.0.1')
True
>>> is_correct_ip('127.0.256.1')
False
>>> is_correct_ip('0000127.0.0.1')
False
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB