7
original = raw_input('Enter a word:')

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

我想检查一个单词是否以元音或辅音开头。但是,这部分不起作用:如果str(first) == "a" or "e" or "i" or "u" or "o"

那么如何检查第一个字母是“a”或“e”或“i”或“u”或“o”?

4

2 回答 2

13

利用in

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

如果您尝试使用 OR 子句,则必须像这样使用,但这不是更好的 pythonic 方式:

if first =='a' or first =='e' or first =='i' or first =='o' or first =='u':
于 2013-04-06T12:55:16.527 回答
6
if str(first) == "a" or "e" or "i" or "u" or "o":

应该修改为

if str(first) in ("a", "e", "i", "o", "u"):

Python 对缩进有明确的要求。确保你有一个正确的缩进。

original = raw_input('Enter a word:')

if len(original) > 0 and original.isalpha():
    word = original.lower()
    first = str(word)[0]
    print first
    if str(first) in ("a", "e", "i", "o", "u"):
        print "vowel"
    else:
        print "consonant"
于 2013-04-06T12:57:13.357 回答