我正在编写一个小脚本来帮助我学习日语假名(平假名/片假名).总共有100多个(+ || - ).
基本上,它所做的只是采用英文版本并将其转换为角色.
即.a ='?' 十进制是12354
到目前为止我所拥有的是:
hiraDict = { "a" : 12354, "i" : 12356 ...}
if __name__ == "__main__":
if hiraDict.has_key(sys.argv[1]):
print(unichr(hiraDict[sys.argv[1]]))
Run Code Online (Sandbox Code Playgroud)
有100多个字符,这可行吗?还是有更好的方法来解决这个问题?
无需检查是否存在,只需获取它并在不需要异常时提供默认参数:
# -*- coding: utf-8 -*-
import sys
hiraDict = {'a': '?', 'i': '?', }
print(hiraDict.get(sys.argv[1], None))
Run Code Online (Sandbox Code Playgroud)
...和python 2.x:
# -*- coding: utf-8 -*-
import sys
hiraDict = {'a': u'?', 'i': u'?', }
print hiraDict.get(sys.argv[1], None)
Run Code Online (Sandbox Code Playgroud)
[编辑]我刚刚注意到你想为许多角色做这件事.以下内容将允许您打印出一系列以参数形式给出的字符(python 3+):
# -*- coding: utf-8 -*-
import sys
hiraDict = {ord('a'): '?', ord('i'): '?' }
text = " ".join(sys.argv[1:])
print(text.translate(hiraDict))
Run Code Online (Sandbox Code Playgroud)