python习题求解,邮箱验证

【题目描述】

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

【输入形式】

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

【输出形式】

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

【样例输入】

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

NO
YES
YES
NO

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