在python中for循环如何处理字符串值?

在python中for循环如何处理字符串值?,python,loops,Python,Loops,我对使用字符串处理循环感到困惑 s=input("enter a lowercase word") counter = 0 n=0 for var in s: letter = s[n:var+1] if letter == 'a' or letter == 'e' or letter == 'i' or letter == 'o' or letter == 'u': counter += 1 n += 1 print('Number of vowels:', c

我对使用字符串处理循环感到困惑

s=input("enter a lowercase word")

counter = 0

n=0

for var in s:
    letter = s[n:var+1]

if letter == 'a' or letter == 'e' or letter == 'i' or letter == 'o' or letter == 'u':

    counter += 1

n += 1 

print('Number of vowels:', counter)

iteration=0
计数=0
当迭代<5时:
对于“你好,世界”中的字母:
计数+=1
打印(“迭代”+str(迭代)+“计数为:”+str(计数))
迭代次数+=1
第一个代码给出了一个错误“TypeError:“str”对象不能被解释为整数”,因为第二个代码工作正常。我认为for循环计数字符串如下所示: “苹果”中的变量相当于范围(5)中的变量,0与a相连,1与p相连,2与p相连,3与l相连,4与e相连。不是这样吗?

我认为for循环计数字符串如下:“apple”中的for变量相当于范围(5)中的for变量,0链接到a,1到p,2到p,3到l,4到e。不是这样吗

不,
对于“apple”中的var,其作用是“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()


在第一个示例中,
var
是一个字符串。你到底希望var+1做什么?我认为var与数字有关,就像在苹果里一样,字母“a”的var为0,字母“p”的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)
for idx, var in enumerate("apple"):
    print(idx, var)

0 a
1 p
2 p
3 l
4 e