我的程序假设从用户那里获得一个字母字符,并确定它是元音,辅音,空格还是非法字符。
如果我输入' 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"
答案 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, ,"
并保持相同的检查。