我为学习俄语字母的初学者创建脚本。 所以我先创建了脚本:
print "Give me letter: "
letter = raw_input()
好吧,然后我做了:
if letter == "a":
print "Аа"
elif letter == "b":
print "Бб"
elif letter == "be":
等。如果我插入1个字母,那就行得很好。例如" a"。 但是如果我想插入" dog"该怎么办? (d - o - g)。如何制作?
我只是初学者,这实际上是我在python中的第一个应用。
修改。我也有:
letter = letter.lower()
(如果这对某人很重要)
答案 0 :(得分:0)
如果用户输入的是单词而不是字母,会发生什么?
如果您想逐字翻译,请执行以下操作:
word = raw_input()
for letter in word:
translate(letter) # translate is a function that translates single letter
答案 1 :(得分:-1)
使用transilterate包(https://pypi.python.org/pypi/transliterate)
可能更容易from transliterate import translit
x = input("Choose character(s)")
print translit(x, "ru")
否则,您可以创建符号转换的dicitonary以避免大量的if / else语句。 toCryllicWord将生成一个上下数组,因为你似乎想要完成,但我相信你将不得不为潜在的缺失字符添加异常处理。
symbols = (u"abvgdeezijklmnoprstufh'y'eABVGDEEZIJKLMNOPRSTUFH'Y'E",
u"абвгдеёзийклмнопрстуфхъыьэАБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЬЭ")
d = {a: b for a, b in zip(*symbols)}
def toCryllicWord(input):
return ["".join([d[i.upper()] for i in input]),"".join([d[i.lower()] for i in input])]
print toCryllicWord('dog')[0]