上面是我写的代码和运行时输入进去测试用的,每次输入的时候,它显示的是全部的元素的数量,而不是我指定的那几个字母。
问题中所述原因是因为 == 运算等级优先于 or
所以优先计算 i==a 然后 用i==a的值来or e or i or o or u
or两边都是真值,表达式的值也一直是真的,所以这个if语句就无意义了
字符串判断就不必用==了
if i in ['a'.upper(),'e'.upper(),'i'.upper(),'o'.upper(),'u'.upper()]:
加括号,后面省略
if i == ("a" or "e" or "i" or "o"):