橙子是只喵 2021-11-11 12:55 采纳率: 100%
浏览 328
已结题

python习题求解,邮箱验证

【题目描述】

网站注册的时候需要用户输入邮箱,验证邮箱的规则包括:
1)有且仅有一个'@'符号
2)'@'和'.'不能出现在字符串的首和尾
3)'@'之后至少要有一个'.',并且'@'不能和'.'直接相连
满足以上3条的字符串为合法邮箱,否则不合法。编写程序验证输入是否合法。

【输入形式】

输入包含若干行,每一行为一个代验证的邮箱地址,长度小于100

【输出形式】

每一行输入对应一行输出
如果验证合法,输出 YES
如果验证非法:输出 NO

【样例输入】

.a@b.com
pku@edu.cn
cs101@gmail.com
cs101@gmail
【样例输出】

NO
YES
YES
NO

  • 写回答

1条回答 默认 最新

  • -Undefined_ 2021-11-11 13:01
    关注
    try:
        while True:
            s = input()
            if s.count('@')!=1:
                print('NO')
                continue
            if s[0] in ['@','.'] or s[-1] in ['@','.']:
                print('NO')
                continue
            if s.rfind('@') > s.rfind('.') or s[s.rfind('@') + 1] == '.' or s[s.rfind('@') - 1] == '.':
                print('NO')
                continue
            print('YES')
    except EOFError:
        pass
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 已采纳回答 11月11日
  • 创建了问题 11月11日