Я думал, что строка для цикла подсчитывается следующим образом: переменная в «apple» была эквивалентна переменной в диапазоне (5), а 0 был связан с a, от 1 до p, от 2 до p, от 3 до lи 4 к эл. Разве это не так?
Нет, for var in "apple"
работает как «a», «p», «p», «l», «e». Так что ваш код с letter = s[n:var+1]
не будет работать.
s=input("enter a lowercase word")
counter = 0
for letter in s:
if letter == 'a' or letter == 'e' or letter == 'i' or letter == 'o' or letter == 'u':
counter += 1
print('Number of vowels:', counter)
Если вам также нужен номер (например, 0, «a», 1, «p», 2, «p» и т. Д.), Используйте enumerate()
:
for idx, var in enumerate("apple"):
print(idx, var)
0 a
1 p
2 p
3 l
4 e