程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python第90题:基本邮箱验证【PythonTip题库精编300题】

hfteth 2025-05-05 15:54:39 技术文章 7 ℃

1、编程试题:

编写一个程序来验证一个邮箱地址是否合法。

定义函数is_email_valid(),参数为email。

在函数内,如果邮箱email满足下面提到的条件,则返回True,否则返回False。

要求邮箱有效,必须满足以下条件:

字符串必须包含一个@字符。

字符串必须包含一个.字符。

@必须有至少一个字符在它之前。

.和@必须处于适当的位置。

例如,hello.email@com是无效的,而john.smith@email.com是有效的。

示例输入:user@website.com

示例输出:True

2、代码实现:

可编辑代码如下:

#!/usr/bin/python3.9
# -*- coding: utf-8 -*-
#
# Copyright (C) 2024 , Inc. All Rights Reserved
#
# @Time      : 2024/2/2 19:48
# @Author    : fangel
# @FileName  : 90. 基本邮箱验证.py
# @Software  : PyCharm

##########90. 基本邮箱验证
def is_email_valid(email):
    flag1 = False
    flag2 = False
    list1 = []
    #步骤1:先获取"@"和"."字符的索引,返回值是-1表示找不到这两个字符
    index1 = email.find(".")
    index2 = email.find("@")
    #判断字符串必须包含一个"@"和"."字符
    if index1 != -1 and index2 != -1:
        flag1 = True
    #步骤2:因为email中可能包含多个".",获取所有"."字符的索引,加入到列表里
    for i in range(0,len(email)):
        if email[i] == ".":
            list1.append(i)
    #步骤3:判断.和@必须处于适当的位置 以及 @必须有至少一个字符在它之前
    if list1[len(list1)-1] > index2 and index2 > 1:
        flag2 = True
    #步骤4:当如上条件均满足时返回值才会是True,否则返回False
    if flag1 and flag2:
        return True
    else:
        return False

# 获取输入
email = input()
# 调用函数
print(is_email_valid(email))

3、代码分析:

本例分析详见上述代码的注释部分,重点是要满足题目给出的几个条件,均满足才能判断为有效。

4、运行结果:

输入:@website.com

输出:False

输入:john.smith@email.com

输出:True

Tags:

最近发表
标签列表