最后的补充
Coddy 使用 Python 验证电子邮件地址 课程的第 7 课,共 8 课。
最后,我们来为用户添加清晰的提示信息。
挑战
简单为程序添加以下功能:
- 不要打印
True或False,而是根据情况打印"Email is valid"或"Email is invalid"。 - 在提示用户输入之前,打印消息 "
Enter email:",并换行。
亲手试试
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)使用 Python 验证电子邮件地址中的所有课
自己练习: Python 在线编译器