橙子是只喵 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日

悬赏问题

  • ¥15 能给我一些人生建议吗
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到
  • ¥15 请教一下,openwrt如何让同一usb储存设备拔插后设备符号不变?
  • ¥30 使用quartz框架进行分布式任务定时调度,启动了两个实例,但是只有一个实例参与调度,另外一个实例没有参与调度,不知道是为什么?请各位帮助看一下原因!!
  • ¥50 怎么获取Ace Editor中的python代码后怎么调用Skulpt执行代码
  • ¥30 fpga基于dds生成幅值相位频率和波形可调的容易信号发生器。
  • ¥15 R语言shiny包和ncdf4包报错
  • ¥15 origin绘制有显著差异的柱状图和聚类热图
  • ¥20 simulink实现滑模控制和pid控制对比,提现前者优势