You need to enable JavaScript to run this app. Python如何将字符串中的独立数字0替换为对应的英文单词zero?
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将字符串中的独立数字0替换为对应的英文单词zero?

问题解决

报错原因

  • Python 中的字符串属于不可变对象,不支持直接修改单个位置的元素,这是你代码执行报错的核心原因
  • 原有逐字符判断的逻辑也不符合需求,会误替换多位数中包含的单数字,比如示例里的10中的0也会被替换,不符合「仅转换独立出现的数字」的要求

实现方案

你可以按照分割单词→逐个判断替换→重新拼接的逻辑实现,完整代码如下:

# 单个数字与英文单词的映射字典,可根据需要补充更多对应关系
num_mapping = {
    "0": "zero",
    "1": "one",
    "2": "two",
    "3": "three",
    "4": "four",
    "5": "five",
    "6": "six",
    "7": "seven",
    "8": "eight",
    "9": "nine"
}

s = input()
# 将字符串按空格分割为单词列表,列表为可变对象
words = s.split()

for i in range(len(words)):
    # 仅当单词是独立存在的单个数字时才替换
    if words[i] in num_mapping:
        words[i] = num_mapping[words[i]]

# 把处理后的列表重新拼接为字符串
result = " ".join(words)
print(result)

输入你示例的I have 10 apples and 0 pencil,运行后输出正好是你需要的I have 10 apples and zero pencil。

内容的提问来源于stack exchange,提问作者Robert 830213

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 09:24:02