如何检查字符串是否由辅音,元音和辅音组成?

时间:2018-06-18 20:54:50

标签: python python-3.x

假设我有一个字符串列表verbs = ["win", "dig", "be", "go", "break]等。我想出了如何复制最后一个字母并添加" ing"给他们。但是,如何检查由辅音 - 元音 - 康纳特组成的字符串中的字符? 我有两个清单:

vowel = ["a", "e", "i", "o", "u"]
consonant = ["b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z"]

这是代码示例:

for ver in verbs:
    if verb "I DON'T KNOW WHAT TO TYPE HERE":
        verb = verb[:len(verb)] + verb[len(verb) - 1: len(verb)] + "ing"
        - then do sth

2 个答案:

答案 0 :(得分:2)

我使用 sets 进行快速会员资格测试:

 $(document).ready(function(){
   $("#btnSubmit").click(function(){
     alert("Submit button is clicked");
   });
});

然后看看那些最后3个字母是否在集合中:

import string

vowel = set("aeiou")
consonant = set(string.ascii_lowercase) - vowel   # all letters that are not vowels
使用严格的子集测试

或更紧凑:

if len(verb) > 2 and verb[-3] in consonant and verb[-2] in vowel and verb[-1] in consonant:
    verb += verb[-1] + 'ing'

if len(verb) > 2 and {verb[-3], verb[-1]} <= consonant and verb[-2] in vowel: verb += verb[-1] + 'ing' 语句使用扩充分配将最后一个字母加verb += verb[-1] + 'ing'附加到'ing'字符串值。负序索引从序列的末尾开始计算,因此verb为您提供字符串中的最后一个字母:

-1

演示:

>>> verb[-1]
'k'

答案 1 :(得分:1)

我建议使用NodeBox或nltk这样的NLP包来代替编写自定义代码来附加ing。可能有一些情况你可能会错过。

这里的一些答案可能会有所帮助:

Using NLTK and WordNet; how do I convert simple tense verb into its present, past or past participle form?

这个库也非常有用 https://www.nodebox.net/code/index.php/Linguistics#verb_conjugation

一个例子:

import en
print en.verb.present_participle("be")
  

相关问题