在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