You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

邮箱提取代码故障求助:域名未转大写且功能异常

代码问题排查与修复

针对你提到的域名未转大写、邮箱分离错误的问题,逐一分析并修复:

问题1:域名转大写未生效

你代码里的.upper()写法本身没问题,但提供的代码中存在非法引号(HTML转义的"),这会导致Python语法报错,程序根本执行不到域名转大写的逻辑。

解决:把所有引号替换为英文双引号",确保代码语法合法。

问题2:邮箱分离与有效性判断错误

你的条件len(email[email.index('@') + 1:]) > 3有逻辑漏洞:

  • 像me.io这种长度为3的有效域名会被误判为无效,导致分离逻辑无法触发
  • 多次调用email.index('@')冗余,且若出现异常会重复报错

修复后的代码

while True:
    print()
    email = input("Enter Your Email: ").strip()
    print()

    at_position = email.find('@')
    # 合理的有效性判断:@存在、用户名非空、域名至少有2个字符(如co、io)
    if at_position != -1 and at_position > 0 and len(email[at_position+1:]) >= 2:
        username = email[:at_position]
        domain = email[at_position+1:].upper()
        print("Username: ", username)
        print("Domain:   ", domain)
    else:
        print("Invalid email!")

关键修复点

  • 替换非法引号,保证代码正常运行
  • 用find()替代index(),避免找不到@时抛出异常
  • 调整域名长度判断逻辑,兼容短域名
  • 提前提取用户名和域名,让代码更简洁易读

内容的提问来源于stack exchange,提问作者M. Nithesh Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 19:05:21