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

为何所有字母仅被添加至列表a?需实现大小写字母分列表存储

代码问题排查与修复

问题原因

原代码的核心错误在于判断逻辑完全错误:

  • if i.upper() 这个条件永远为真,因为任何非空字符调用upper()都会返回非空字符串,而Python里非空字符串在布尔判断中等价于True。这导致所有字母都会被塞进列表a,elif i.islower()分支根本不会触发。
  • 要实现需求,必须用isupper()方法判断字符本身是否为大写字母,用islower()判断是否为小写字母。

修复后的代码

def up_low(s):
    a = []
    b = []
    
    for i in s:
        if i.isupper():
            a.append(i)
        elif i.islower():
            b.append(i)
        else:
            pass
    print(a)
    print(b)
    print(f"No. of Upper case characters : {len(a)} ")
    print(f"No. of Lower case Characters : {len(b)}")

验证效果

测试输入:up_low("Hello World! 123")
输出结果:

['H', 'W']
['e', 'l', 'l', 'o', 'o', 'r', 'l', 'd']
No. of Upper case characters : 2 
No. of Lower case Characters : 8

完全符合预期:大写字母进入列表a,小写字母进入列表b,非字母字符被忽略。

内容的提问来源于stack exchange,提问作者geetansh pardhi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 08:18:26