首先:请记住,我是编程的初学者。
我正在尝试用 Python 编写一个简单的程序,它将用辅音+“o”+辅音替换字符串中的辅音。例如,“b”将替换为“bob”,“d”将替换为“dod”(因此“python”一词将更改为“popytothohonon”)。
为此,我创建了一个字典,其中包含对 b:bob、c:coc、d:dod 等。然后我使用 replace() 命令通读单词并将辅音替换为字典中的翻译。完整的代码如下所示:
def replacer(text):
consonant='bcdfghjklmnpqrstvwxz'
lexicon={}
for x in range(0,len(consonant)):
lexicon[x]=(consonant[x]),(consonant[x]+'o'+consonant[x])
for i,j in lexicon.items():
text=(text.replace(i,j))
return text
现在,当我尝试调用此函数时,出现以下错误:
Traceback (most recent call last):
File "D:\x\x.py", line 37, in <module>
print(replacer("python"))
File "D:\x\x.py", line 17, in replacer
text=(text.replace(i,j))
TypeError: Can't convert 'int' object to str implicitly
但我没有使用任何整数!字典肯定有问题,因为当我像这样“手工”制作时一切正常:
list={'b':'bob', 'c':'coc', 'd':'dod', 'f':'fof', 'g':'gog', 'h':'hoh'......}
但是当我打印“非手工”字典时,一切似乎都井井有条:
{0: ('b', 'bob'), 1: ('c', 'coc'), 2: ('d', 'dod'), 3: ('f', 'fof')........
我究竟做错了什么?