没有在循环的第一个元素读元音

时间:2014-03-14 02:20:16

标签: python character

我的程序假设从用户那里获得一个字母字符,并确定它是元音,辅音,空格还是非法字符。

如果我输入' a'它说这是一个辅音。跑的时候。用户只输入一个字符。循环的空间部分可以工作,但是当我输入它时,其他一切都是辅音。

myvar = raw_input("Enter an alpabetic character: ")

if myvar == ("a", "e", "i", "o", "u"):
    print "Your character", myvar, "is a vowel"
elif myvar == " ":
    print "Your character", myvar, "is a space"
elif myvar != "a, e, i, o, u, ,":
    print "Your character", myvar, "is a consonant"
else:
    print "Ooops! I think you've messed up"

1 个答案:

答案 0 :(得分:3)

您的比较不正确。

myvar == ("a", "e", "i", "o", "u")

myvar与元组("a", "e", "i", "o", "u")进行比较。我想你想要更像

的东西
if myvar in ("a", "e", "i", "o", "u"):

这将检查<{1}}

使用此方法,您可以将辅音检查调整为:

myvar

正如您目前所拥有的那样,您正在检查if myvar not in ("a", "e", "i", "o", "u"): 是否等于字符串myvar

编辑:您还可以将元组转换为列表"a, e, i, o, u, ,"并保持相同的检查。