Menu
Coddy logo textTech

Ostatnie dodatki

Lekcja 7 z 8 w kursie Walidator adresów e-mail w Python w Coddy.

Na koniec dodajmy jasne komunikaty dla użytkownika.

challenge icon

Wyzwanie

Łatwy

Dodaj do swojego programu następującą obsługę:

  • zamiast wyświetlać True lub False, wyświetlaj "Email is valid" lub "Email is invalid" zależnie od przypadku.
  • zanim użytkownik zostanie poproszony o dane wejściowe, wyświetl komunikat "Enter email:" i przejdź do nowej linii.

Spróbuj swoich sił

PERMITS_RECIEPENT = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._'
PERMITS_DOMAIN = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-'

def validate(email):
    if not email.count('@') == 1:
        return False

    recipient_name = email.split('@')[0]
    if len(recipient_name) > 24 or len(recipient_name) < 3:
        return False
    for c in recipient_name:
        if c not in PERMITS_RECIEPENT:
            return False
    if '.' == recipient_name[0] or '.' == recipient_name[-1] or '_' == recipient_name[0] or '_' == recipient_name[-1]:
        return False
    
    domain_name = email.split('@')[1].split('.')[0]
    if len(domain_name) > 12 or len(domain_name) < 3:
        return False
    for c in domain_name:
        if c not in PERMITS_DOMAIN:
            return False
    
    top_level_domain_name = email.split('@')[1].split('.')[1]
    if top_level_domain_name not in ['com', 'org', 'net', 'tech']:
        return False
    return True

if __name__ == "__main__":
    email = input()
    is_valid = validate(email)
    print(is_valid)

Wszystkie lekcje w sekcji Walidator adresów e-mail w Python

Poćwicz samodzielnie: Kompilator Python online