Python Codecademy:使用字符串创建列表

时间:2013-09-13 02:11:45

标签: python list

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

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 个答案:

答案 0 :(得分:1)

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

我认为你要找的那个词( Beuller )是布尔

答案 1 :(得分:0)

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

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

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

if first.lower() in "aeiou":

答案 2 :(得分: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

答案 3 :(得分:0)

这里有一些问题:

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

您尝试在定义之前访问original,这是一个简单的修复,正如评论中所说的那样(+1 DaoWen),只需交换这两行。

但是,请检查以确保输入内容:

if len(original) > 0

但是到那时,如果原始版本没有传递该语句,那么它会在first = original[0]时抛出错误,所以最好不要分配first,直到你在{ {1}}阻止:

if