繁体   English   中英

在 Python 中将字符添加到空字符串

[英]Adding Characters to an Empty String in Python

我试图让我的程序遍历用户输入的字符串并再次打印它,用“u”代替每个大写字母,用“l”代替每个小写字母,用“-”代替任何其他字符。 这是我写的:

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)

出于某种原因,我的输出是一个空白行,好像变量“modified_txt”从未受到 for 循环的影响。 我敢肯定,为什么会出现这种情况有一个直接的原因,但我不知所措。

字符串是不可变的数据类型。 所以+不是字符串的就地操作。

您需要使用新值重新分配变量。 所以换行:

modified_txt + SOMETHING

modified_txt = modified_txt + SOMETHING

或正如Matiiss建议的那样:

modified_txt += SOMETHING

也许您需要在=之前添加+字符

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM