Форум сайта python.su
0
Вот основной код:
import reg_check while 1: user_email=input("""Введите, пожалуйста, e-mail адрес (имя_ящика@имя_домена). Имя_ящика не должно быть короче 3-х символов, имя_домена должно быть не короче 2-х символов\n""") if reg_check.email_check(user_email)==False: print("Неправильный e-mail адрес") email_flag=False user_email="" else: email_flag=True if email_flag==True: user_login=input("""Введите никнейм. Никнейм должен быть не короче 4-х исмволов и не длинее 14 символов\n""") if reg_check.login_check(user_login)==False: print("Неправильный никнейм") login_flag=False user_login="" else: login_flag=True if login_flag==True: user_password=input("""Введите пароль. Пароль должен остоять не меньше, чем из 6 символов\n""") if reg_check.pass_check(user_password)==False: print("Неправильный пароль") pass_flag=False user_password="" else: pass_flag=True if pass_flag==True: print("Регистрация прошла успешно!") break
import re def email_check(email): com=re.compile('[-a-z0-9_]{3,} @ [-a-z0-9_]{2,} \. [a-z]{2,3}',re.I|re.X) ser=com.match(email) if ser==None: check=False else: check=True return check def login_check(login): com=re.compile('[-a-z0-9_]{4,14}',re.I|re.X) ser=com.match(login) if ser==None: check=False else: check=True return check def pass_check(password): com=re.compile('.{6,}',re.X) ser=com.match(password) if ser==None: check=False else: check=True return check
Отредактировано DOSfag (Авг. 24, 2012 14:01:58)
Прикреплённый файлы:
Регистрация.py (1,5 KБ)
Офлайн
0
Вот я поупражнялся в написании регулярных выражений 
Офлайн
173
Я так понимаю нужны комментарии?
DOSfag->ser=com.match(email) if ser==None: check=False else: check=True return check
return bool(com.match(email))
DOSfagwhile 1: # input, set flag, check flag # ....
if check(something) == False:
if not check(something):
while True: something = input() if not check(something): print message continue something_else = input() if not another_check(something_else): print message continue do_action_with(something, something_else) break
Отредактировано reclosedev (Авг. 24, 2012 14:47:56)
Офлайн