编码语言翻译

时间:2015-02-21 16:09:52

标签: python

我试图将一种语言翻译从任何语言编码为一种乱码语言,每个辅音都将被相同的辅音加上o和辅音替换。

b = bob
d = dod
f = fof

所以文字“你好我的名字是x” 将成为“Hohi momy nonamome isos xox”

我遇到的问题是转换部分。

关于我如何进行的任何提示?

哦,顺便说一句,我正在使用python 3

我到目前为止。

#Welcom text
print ("Gibberish translator!")

#get stentence
original = raw_input("Give a sentence: ")

#Check so that it is a correct sentence
if len(original) > 0:
    print ("")
else:
    print ("give a real sentence..: ")

#convert
gibberish = ""
for i in original:
    if i == "b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,z":
        i = i + "0" + i
        gibberish.append(i)
    elif i == "a,o,u,e,i,y":
        gibberish.append(i)

#print out the gibberish
print (gibberish)

呀!我想我的工作做得很好..

# -*- coding: cp1252 -*-
#Repeat
while True :
    #Welcom text
    print ("Gibberish translator!")

    #get stentence
    original = raw_input("Give a sentence: ")

    #Check so that it is a correct sentence
    if len(original) > 0:
        print ("")
    else:
        print ("Give a real sentence..: ")

    #convert
    gibberish = ""
    for i in original:
        if i in "bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ":
            i = i + "o" + i
            gibberish = gibberish + i
        elif i in "aoueiyåäö AOUEIYÅÄÖ":
            gibberish = gibberish + i

    #print out the gibberish
    print (gibberish)
    print ("\n")

我愿意接受建议,让它“更好”

2 个答案:

答案 0 :(得分:1)

问题是您要将字符i与字符串"b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,z"进行比较。两者永远不会平等。

您要做的是使用in运算符。

    if i in 'bcdfghjklmnpqrstvwxz':

此外,字符串没有.append()方法,只有列表可以 您可以通过执行''.join(my_list)

从字符串列表中创建字符串

答案 1 :(得分:0)

if和in语句不能那样工作。这实际上是一个非常常见的错误,所以不用担心。当你到达if i == "b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,z": python时读取“如果我是所有这个字符串(包含所有辅音的字符串)。现在除非你在句子的某个地方输入那个字符串,python会认为” nope没有像那样的字符串“并跳过它。你的元音语句也有同样的问题。

要获得最快速的修复:


if i in "bcdfghjklmnpqrstvwxz": #note the removal of commas, don't want them getting "o'd"
    #rest of your code for consonants
else: #having an else is often very good practice, or else you may not get a result.
    #what to do if its not a consonant

该函数检查它是否是小写元音(可能想要为大写字母添加内容),如果不是,则检查它是否是字母句点。使用字符串时,string非常有用。你应该look at the docs

最后,您需要将附加内容更改为仅使用+字符串。