检查单词的第一个字母是否为元音

时间:2012-11-14 12:56:17

标签: python list search

在我提出这个问题之前,我想告诉你我不是一个经验丰富的程序员,而是有人在codecademy.com上学习python的基础知识。

我正在尝试使用python编写一个函数来检查给定单词的第一个字母,例如“ball”是否为大写或小写的元音。例如:

#here is a variable containing a word:
my_word = "Acrobat"

#letters in vowel as a list
the_vowel = ["a","e","i","o","u"]

如何检查“Acrobat”中的第一个字母是否是列表中的元音之一?我还需要考虑它是大写还是小写?

15 个答案:

答案 0 :(得分:15)

尝试my_word[0].lower() in the_vowel

答案 1 :(得分:11)

我不知道它是否比这里已经发布的答案更好,但你也可以这样做:

vowels = ('a','e','i','o','u','A','E','I','O','U')
myWord.startswith(vowels)

答案 2 :(得分:9)

以下是一些可以帮助您解决问题的提示。

从字符串下标中获取单个字母。

>>> 'abcd'[2]
'c'

请注意,第一个字符是字符零,第二个字符是字符1,依此类推。

接下来要注意的是大写字母与小写字母不相等:

>>> 'a' == 'A'
False

幸运的是,python字符串有方法upperlower来改变字符串的大小写:

>>> 'abc'.upper()
'ABC'
>>> 'a' == 'A'.lower()
True

要测试列表中的成员身份in

>>> 3 in [1, 2, 3]
True
>>> 8 in [1, 2, 3]
False

因此,为了解决您的问题,请将订阅绑定到一个字母upper / lower以调整大小写,并使用in测试成员资格。

答案 3 :(得分:4)

my_word = "Acrobat"
the_vowel = "aeiou"

if myword[0].lower() in the_vowel:
    print('1st letter is a vowel')
else:
    print('Not vowel')

答案 4 :(得分:2)

我的代码看起来像这样。

original = raw_input("Enter a word:")
word = original.lower()
first = word[0]
vowel = "aeiou"

if len(original) > 0 and original.isalpha():
    if first in vowel:
        print word
        print first
        print "vowel!"
    else:
        print word
        print first
        print "consonant

答案 5 :(得分:2)

x = (input ("Enter any word: "))
vowel = "aeiouAEIOU"
if x[0] in vowel:
    print ("1st letter is vowel: ",x)       
else:
    print ("1st letter is consonant: ",x)     

答案 6 :(得分:1)

感谢alexvassel为我提供了缺失的部分;)

所以这里是codecadmy.com上的exercice的解决方案

original = raw_input('Enter a word:')

word = original.lower()

first = word[0]

vowel = "aeiou"



if len(original) > 0 and original.isalpha():

   if first in vowel:

       print 'vowel'

       else:   

       print 'consonant'

else:

  print 'empty'

答案 7 :(得分:1)

这是我如何做到的,因为在将输入的单词存储为变量之前需要先检查输入的单词:

original = raw_input('Enter a word:')

if len(original) > 0 and original.isalpha():
    word = original.lower()
    first = word[0]
    if first in ['a','e','i','o','u']:
        print "vowel"
    else:
        print "consonant"
else:
    print 'empty'

答案 8 :(得分:1)

import ast,sys
input_str = sys.stdin.read()

if input_str[0] in ['a','e','i','o','u','A','E','I','O','U']:
    print('YES')
else:
    print('NO')

答案 9 :(得分:0)

将the_vowel定义为字典而不是列表会不会(稍微)快一些?

the_vowel = {"a":1,"e":1,"i":1,"o":1,"u":1}
my_word[0].lower() in the_vowel

答案 10 :(得分:0)

反元音功能

def anti_vowel(text):
    vowel = ["a","e","i","o","u"]
    new_text = ''
    for char in text:
        if char.lower() in vowel:
            continue
        else:
            new_text += char
    print new_text
    return new_text

答案 11 :(得分:0)

x = raw_input("Enter a word: ")  
vowels=['a','e','i','o','u']
for vowel in vowels:
    if vowel in x:
        print "Vowels"
    else:
        print "No vowels"

这将打印出5行,如果其中任何一行包含一条说明元音的行,那就意味着有一个元音。我知道这不是最好的方式,但它有效。

答案 12 :(得分:0)

更改:

if my_word[0] in ('a','e','i','o','u'):
   print(' Yes, the first letter is vowel ')
else:
   print(' No, the first letter is not vowel ')

因此,这是用于找出第一个字母不是元音的简单代码!如果您在python或js中有任何其他查询,请将其注释掉。

答案 13 :(得分:0)

让我们以更简单的方式进行操作

def check_vowel(s1):
       v=['a','e','i','o','u']
       for i in v:
            if s1[0].lower()==i:
                   return (f'{s1} start with Vowel word {i}')
       else:
        return (f" {s1} start with Consonants word {s1[0]}")
 print(check_vowel("orange"))

答案 14 :(得分:-1)

my_word = "Acrobat"
the_vowel = ["a", "e", "i", "o", "u"]

if my_word[0].lower() in the_vowel:
     print(my_word + " starts with a vowel")
else:
     print(my_word + " doesnt start with a vowel")