我想编写一个对您在控制台中键入的单词进行编码的程序,如下所示:
例如,如果您写一个A,它将被Z代替,或者您键入T并得到一个U。
例子:
A --> Z
T --> U
H --> F
如果可以的话,您能告诉我如何更改您在控制台中输入的单词吗?
仍然需要帮助,无法弄清楚该怎么做!
这很简单,只需定义一个字典即可将字符映射到它们的替换。
>>> replacers = {'A':'Z', 'T':'U', 'H':'F'}
>>> inp = raw_input()
A T H X
>>> ''.join(replacers.get(c, c) for c in inp)
'Z U F X'
我不知道您到底要去哪里,区分大小写是否重要,或者是否有更通用的规则来确定您没有告诉我们的替换字符-但这应该可以帮助您开始。
编辑:要求说明:
(replacers.get(c, c) for c in inp)
是一个生成器,它为示例输入吐出了以下各项:
>>> [replacers.get(c, c) for c in inp]
['Z', ' ', 'U', ' ', 'F', ' ', 'X']
对于c
输入字符串中的每个字符,inp
我们将替换replacers
字典中的替换字符;如果在字典中找不到该字符,则替换该字符本身。默认值为传递给的第二个参数replacers.get
。
最后,''.join(some_iterable)
从一个可迭代项(在我们的示例中为生成器)的所有项中构建一个字符串,然后将它们与字符串粘合在一起join
。例子:
>>> 'x'.join(['a', 'b', 'c'])
'axbxc'
在我们的例子中,字符串为空,其作用是简单地将可迭代对象中的所有项目连接在一起。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句