turk = {"Ç":"C","ç":"c","Ğ":"G","ğ":"g","İ":"I","ı":"i",
"Ö":"O","ö":"o","Ş":"S","ş":"s","Ü":"U","ü":"u"}
eng = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \t1234567890"
space = " "
word = input("Enter a word")
def turkChar (word):
newword = ""
for c in word:
if c in eng:
newword = newword + c
elif c in turk:
newword = newword + turk[c]
else:
newword = newword + space
return newword
我写了这个简单的代码,将土耳其语字符转换成英语。我添加了一个空格变量来创建一个空格,但若用户想要创建更多的空格、制表符甚至数字,该怎么办呢。我怎么做这个
我想你应该有一张从土耳其语到英语的地图。所以A会映射到A,B到B,等等,除了你已经有的突厥语词典。然后可以将空格、制表符和任何其他字符添加到映射中
您的代码成为一个循环,使用get函数进行字典查找
我认为您不应该将空格、制表符和数字字符与
eng
字符区别对待。我只想像这样扩展你的角色:然后,我们可以删除“空间”部分,结果如下:
\t
李>eng
字符串中缺少一个较低的h
李>turk
定义为参数,但未将eng
定义为参数,或者两者都定义,或者两者都不定义李>eng
或turk
中找不到字符,则忽略该字符李>Python有一个名为^{} 的字符串函数,它是为此而设计的,非常有效(比循环/dict查找效率高很多)。您可以使用与现有词典完全相同的词典创建翻译表,您可以使用^{} 创建该表,然后将其传递到
translate()
:相关问题 更多 >
编程相关推荐