为了我的comp-sci课程,我被分配去编一本英语到海盗词典。用户被提示输入一个句子,然后翻译成海盗,但它不工作,我不知道为什么。任何帮助都将不胜感激。你知道吗
eng2pir = {}
eng2pir['sir'] = 'matey'
eng2pir['hotel'] = 'fleabag inn'
eng2pir['restauraunt'] = 'galley'
eng2pir['your'] = 'yer'
eng2pir['hello'] = 'avast'
eng2pir['is'] = 'be'
eng2pir['professor'] = 'foul blaggart'
a = input("Please enter a sentence to be translated into pirate: ")
for x in range(len(a)):
b = a.replace(x, eng2pir[x])
print(b)
循环在
range(len(a))
上迭代,因此x
将为输入中的每个字符接受一个整数值。这是出于以下几个原因:最后,请注意
.replace()
替换字符串中第一个出现的搜索项。若要以仍然使用该方法的方式修改处理此问题的方法,请考虑以下两个主要更改:对于范围内的x(len(a)): b=a.替换(x,eng2pir[x])
因为for循环x是int 但是eng2pir dict没有int键
so输出错误
您正在迭代字符串输入中的每个字符,正如前面的另一个答案所说,
replace
只替换第一个出现的字符。 你可能想这样做(在你编好字典之后)。你知道吗相关问题 更多 >
编程相关推荐