Руслан Камов Asked:2022-07-13 01:06:59 +0000 UTC2022-07-13 01:06:59 +0000 UTC 2022-07-13 01:06:59 +0000 UTC 零本身的值加一[关闭] 772 任务是在函数的输入处获取一个字符串,计算其中的所有元音并输出它们的数量。此外,如果有一个“y”,它就等于零。为什么我的代码输出一而不是零? def get_count(sentence): sum = 0; sentence = sentence.lower() for i in sentence: if i == 'a' or 'e' or 'i' or 'o' or 'u': sum += 1 elif i == 'y': sum = sum + 0; return sum print(get_count("y")) python 1 个回答 Voted Best Answer Сергей 2022-07-13T03:14:17Z2022-07-13T03:14:17Z 用 OR、AND 等书写是不正确的。if i == 'a' or 'e'- 根据语法,第一次检查将打开i == 'a',第二次检查将打开if 'e'。很明显,第二个总是会给出True,所以它elif不会到达重点。 正确书写: if i == 'a' or i == 'e' 正如@CrazyElf 所写,最好这样写:if i in 'аеиоу'
用 OR、AND 等书写是不正确的。
if i == 'a' or 'e'- 根据语法,第一次检查将打开i == 'a',第二次检查将打开if 'e'。很明显,第二个总是会给出True,所以它elif不会到达重点。正确书写:
if i == 'a' or i == 'e'正如@CrazyElf 所写,最好这样写:
if i in 'аеиоу'