我在思考是否可以将这行代码转换为所有这些元音的列表;
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
答案 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