我有一个作业分配来创建此功能。 这是我的代码:
def countVowelsOdd(n):
length = len(n)
count = 0
for i in range(length):
if i % 2 != 0:
if n[i] == "a" or "A" or "e" or "E" or "i" or "I" or "o" or "O" or "u" or "U":
count = count + 1
return count
此函数的输出与预期输出的对比:https://i.imgur.com/e524tW6.png
答案 0 :(得分:0)
如果您需要考虑在奇数位置的元音,请执行以下操作:
for i in range(1, length, 2):
在range文档中检查您可以传递start
,stop
和step
参数的地方。然后范围将从1、3、5 ...到length-1
。
您也可以
if n[i].lower() in "aeiou":
用作检查字母是否为元音的缩写。以this问题为例。
答案 1 :(得分:0)
实际上,您唯一的问题是线路
if n[i] == "a" or "A" or "e" or "E" or "i" or "I" or "o" or "O" or "u" or "U":
要么需要
if n[i] == "a" or n[i] == "A" or n[i] == "e" or n[i] == "E" or n[i] == "i" or n[i] == "I" or n[i] == "o" or n[i] == "O" or n[i] == "u" or n[i] == "U":
或者您也可以使用
if n[i] in "aAeEiIoOuU":
我实际上更喜欢。但是,这条线仍然可以改善
if n[i].upper() in "AEIOU":