1

我正在考虑是否可以将这行代码转换为所有这些元音的列表;

if first== 'a' or first =='e' or first == 'i' or first == 'o' or first =='u':"

我在想str[a,e,i,o,u]

pyg = 'ay'
first = original[0]
original = raw_input('Enter a word:')

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


word = original
4

4 回答 4

1
if first.lower() in ['a','e','i','o','u']:
    print "vowel"
else:
    print "consonant"

我认为您正在寻找的词(Beuller)是布尔值

于 2013-09-13T02:16:22.680 回答
0

You have a few problems here:

first = original[0]
original = raw_input('Enter a word:')

You're trying to access original before it's defined, this is a simple fix, as it says in the comment (+1 DaoWen), just swap those two lines.

However, then you check to make sure something was entered:

if len(original) > 0

But by then, if original doesn't pass that statement, it will have thrown an error with first = original[0], so it may be better to hold off assigning first until you're in the if block:

original = raw_input('Enter a word:')

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

word = original
于 2013-09-13T02:32:02.680 回答
0

您可以使用字符串而不是列表:

if first in "aeiou":
   print "vowel"
else:
   print "consonant"

请记住,您当前的代码以小写形式打印第一个字母,但实际上并没有将其更改为小写。你可以使用:

if first.lower() in "aeiou":
于 2013-09-13T02:13:44.103 回答
0

在 Python 中,str 类型在很多方面类似于列表类型。其中一种方法是简单而简洁的in关键字可以很好地测试两者的成员资格。

pyg = 'ay'
first = original[0]
original = raw_input('Enter a word:')

if len(original) > 0 and original.isalpha():
    print original.lower()
    if first in 'aeiou':
        print "vowel"
    else:
        print "consonant"
else:
    print 'empty'


word = original
于 2013-09-13T02:15:22.903 回答