Skip to content

Instantly share code, notes, and snippets.

@63phc
Created December 7, 2018 09:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 63phc/655654cde8e05e0a2c29b8b706c9f4bb to your computer and use it in GitHub Desktop.
Save 63phc/655654cde8e05e0a2c29b8b706c9f4bb to your computer and use it in GitHub Desktop.
validater_test
# логин должен начинаться с латинской буквы;
# состоять из латинских букв, цифр, точки и минуса,
# но заканчиваться только латинской буквой или цифрой;
# минимальная длина логина — один символ, максимальная — 20.
def validater_one(data: str) -> bool:
if len(data) <= 20 and data[0].isalpha() and (data[-1].isalpha() or data[-1].isdigit()):
result = []
for i in set(data):
i = bool( 65 < ord(i) < 122 or i.isdigit() or i == '-' or i == '.')
result.append(i)
if False in result:
return False
else:
return True
else:
return False
import re
def validater_two(data: str) -> bool:
return True if re.search('^[a-z]+([a-z0-9.-]*[a-z0-9])?$', data) and len(data) <= 20 else False
if __name__ == '__main__':
assert validater_one('111ppp')==False
assert validater_two('adad<a')==False
assert validater_one('A1.')==False
assert validater_two('Kвертиqwerty')==False
assert validater_one('bpods7-6..4')==True
assert validater_two('assert.')==False
import time
t0 = time.time()
validater_one('F-1')
t1 = time.time()
print(t1-t0, 'validater_one')
t2 = time.time()
validater_two('F-1')
t3 = time.time()
print(t3-t2, 'validater_two')
print('All ok')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment