counter = 0
for i in len(s):
if i in ('a','e','i','o','u'):
counter += 1
print("Number of vowels:" + str(counter))
Run Code Online (Sandbox Code Playgroud)
我正在尝试制作一个程序来计算元音的数量,假设它s是一个预定义的字符串。但我收到一个错误:
“int”对象在python中不是可迭代的错误
小智 5
我会让我的答案比它应该更长一点。
如果您不需要i循环中操作的索引的数字表示,您只需遍历字符串:
for i in s:
do_something()
Run Code Online (Sandbox Code Playgroud)
如果您只需要数字表示i,例如您有一个“字符串”,但您需要[0,1,2,3,4,5],您可以这样做:
for i in range(len(s)):
do_something(i)
Run Code Online (Sandbox Code Playgroud)
让我们分解一下。s是一个str()。len以整数值形式返回对象的长度,例如,len('string') = 6。你不能迭代一个整数,因为 python 的for实际上是一个foreach. 所以你需要一个可迭代的对象,它是range(len(s))
如果您需要这两个符号和索引,你可以这样做:
for i, symbol in enumerate(s):
do_something(i,symbol)
Run Code Online (Sandbox Code Playgroud)
例如,这段代码:
for i, symbol in enumerate('string'):
print(i,symbol)
Run Code Online (Sandbox Code Playgroud)
会导致:
0 s
1 t
2 r
3 i
4 n
5 g
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18260 次 |
| 最近记录: |