【问题标题】:Elementary Python: assigning characters to string [duplicate]初级Python:将字符分配给字符串[重复]
【发布时间】:2018-07-12 19:23:40
【问题描述】:
def anti_vowel(text):
    for c in text:
        if c == "e":
            c = "2"
    return text
print anti_vowel("ee2ee")

为什么打印的是“ee2ee”,而不是“22222”?

我说,只要“e”出来,就换成“2”。

我真的不明白。

【问题讨论】:

  • 字符串是不可变的。分配 c = "2" 不会更改字符串。
  • 即使字符串是可变的,分配c = "2" 仍然不会改变字符串。

标签: python string python-3.x


【解决方案1】:

您通过将字符的连续副本复制到c来循环text
你只会改变c

c = "2"

在您退回之前,text 没有任何变化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多