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

Python中空字符串添加字符后输出为空,求原因及解决方法

问题分析与解决:字符串处理后输出为空

你的代码核心问题在于字符串拼接操作未对变量重新赋值:

Python中的字符串是不可变类型,modified_txt + "u"这类操作只会生成一个新的字符串对象,但你没有将这个新对象赋值回modified_txt变量。因此,初始的空字符串""从未被修改,最终输出自然为空。

修正后的基础版本

txt = input()
modified_txt = ""

for char in txt:
    if char.isupper():
        modified_txt += "u"  # 用 += 完成赋值,更新变量
    elif char.islower():
        modified_txt += "l"
    else:
        modified_txt += "-"

print(modified_txt)

更高效的实现方式

循环中反复拼接字符串会频繁生成新对象,效率较低。可以用列表收集字符后再合并,性能更优:

txt = input()
modified_chars = []
for char in txt:
    if char.isupper():
        modified_chars.append("u")
    elif char.islower():
        modified_chars.append("l")
    else:
        modified_chars.append("-")
modified_txt = "".join(modified_chars)
print(modified_txt)

也可以用更简洁的列表推导式一步完成:

txt = input()
modified_txt = "".join(
    "u" if c.isupper() else "l" if c.islower() else "-" 
    for c in txt
)
print(modified_txt)

内容的提问来源于stack exchange,提问作者Jacob B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 08:15:42