编程语言转换

2024-05-26 21:51:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一种语言翻译程序,从任何一种语言转换成一种乱七八糟的语言,每个辅音都会被同一个辅音加上一个o,然后再换成辅音。在

b = bob
d = dod
f = fof

所以短信“嗨,我叫x” 将成为“Hohi MOMMY NONAMOM isos xox”

我的问题是转换部分。在

有什么关于我该怎么做的提示吗?在

哦,顺便说一句,我用的是python3

我做了这么多。在

^{pr2}$

是啊!我想我把它弄得很好。。在

# -*- 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")

我乐于听取建议,使之“更好”


Tags: in语言if短信sentencebobprintoriginal
2条回答

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

{cd3>你想做什么呢。在

    if i in 'bcdfghjklmnpqrstvwxz':

而且,字符串没有.append()方法,只有列表有。
您可以通过执行''.join(my_list)从字符串列表创建字符串

如果和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会认为“不,没有这样的字符串”并跳过它。你的元音陈述也有同样的问题。在

要获得最快的修复:


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

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

最后,您需要将append更改为只对字符串使用+。在

相关问题 更多 >

    热门问题