Python学习笔记- 字符串的处理 - Go语言中文社区

Python学习笔记- 字符串的处理


Python学习笔记- 字符串的处理

实验内容如下:在这里插入图片描述
代码如下:

#Pig_Latin.py    Pig_Latin语言

def high_low(word):#将大写字母全部转化小写
    word=word.lower()
    return word
def frist_vowel(word):#判断单词首字母是不是元音
    vowel=['a','e','i','o','u']#元音字母
    TF=[]
    for i in vowel:
        if i==word[0]:#若该单词是以元音字母开始
            TF.append(1)#在列表TF里存入1
    return len(TF)
#若列表里从未存入数据,len(TF)==0,即该单词为辅音开始
#若列表里有存入的数据,len(TF)!=0,即该单词为元音音开始

def move(i,word,suffix):#帮助移动字母,完成从英文到Pig Latin的转换
    #i为Word前需要移动到末尾的字母个数,suffix为需加到末尾的后缀
    words=''#建立一个空的字符串

    #移除前i个字母
    for j in range(len(word)-i):
        words+=word[j+i]#将从i到len(word)-1个字母存入words
    #将前i个字母移到末尾
    for k in range(i):
        words+=word[k]
    #加上后缀
    words+=suffix
    return words

def pig_latin(word):#将英文转换成Pig Latin单词
    vowel=['a','e','i','o','u']#元音字母
    if frist_vowel(word)!=0:#如果首字母是元音字母
        words=word+'hay'#在单词末尾加上'hay'
        return words
    else:#若不是
        if word[0]=='q' and word[1]=='u':#单词是以“qu"开头
            words=move(2,word,'ay')#将前两个字母移到末尾,并加入后缀‘hay’
            return words
        elif word[0]=='y':#如果单词是以y开头,元音字母表不变
            frist=[0]#建立一个空列表
            for i in vowel:
                for j in range(len(word)):
                    if word[j]==i:#将与元音表相同字母的下标存入frist表
                        frist.append(j)
            frist.sort()
            mins=frist[1]#取出最小的数字,即第一个元音的位置,也是需移动的字母个数
            words=move(mins,word,'ay')#移动字母并加后缀
            return words
        else:#若首字母不是'y'
            vowel.append('y')#将'y'编入元音表,其余同上
            frist=[0]
            for i in vowel:
                for j in range(len(word)):
                    if word[j]==i:
                        frist.append(j)
            frist.sort()
            mins=frist[1]#取出最小的数字,即第一个元音的位置,也是需移动的字母个数
            words=move(mins,word,'ay')
            return words

def main():
    sentence=raw_input("Please input the sentence to be converted into Pig Latin language:n")
    #输入需转换的句子
    word=sentence.split(" ")
    #以空格为分界,将句子分成单词存入列表
    sentences='' #建立一个空字符串

    #将所有单词完成转换,存入sentences,并输出
    for i in range(len(word)):
        Word=word[i]
        Word=high_low(Word)#将所有大写字母都改成小写
        Word=pig_latin(Word)#将所有英文单词转换为Pig Latin语言
        sentences=sentences+Word+' '#将转换后的单词存入sentences
    print "The sentence converted to Pig Latin is:n"
    print sentences
main()

效果如下:
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/treasure__/article/details/102722844
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢