Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 类型错误:';int';对象在python中是不可编辑的错误_Python 3.x - Fatal编程技术网

Python 3.x 类型错误:';int';对象在python中是不可编辑的错误

Python 3.x 类型错误:';int';对象在python中是不可编辑的错误,python-3.x,Python 3.x,我试图制作一个程序,计算元音的数量,假设s是一个预定义的字符串。但我有一个错误: “int”对象在python中是不可编辑的错误 len()在您的案例中,返回int类型作为字符串s的长度。 按照@Patrick Artner的建议,对s中的i使用:。 或者,您可以使用 counter = 0 for i in len(s): if i in ('a','e','i','o','u'): counter += 1 print("Number of vowels:&

我试图制作一个程序,计算元音的数量,假设
s
是一个预定义的字符串。但我有一个错误:

“int”对象在python中是不可编辑的错误

len()
在您的案例中,返回int类型作为字符串
s
的长度。 按照@Patrick Artner的建议,对s中的i使用
。 或者,您可以使用

counter = 0
for i in len(s):
    if i in ('a','e','i','o','u'):
        counter += 1
print("Number of vowels:" + str(counter))

我会让我的答案比应该的长一点

如果循环中的操作不需要索引的数值表示形式
i
,只需迭代字符串即可:

for i in range(len(s)):
  curChar=s[i]
如果您只需要数字表示法
i
,例如,您有一个“字符串”,但您需要[0,1,2,3,4,5],则可以执行以下操作:

for i in s:
    do_something()
for i in range(len(s)):
    do_something(i)
让我们把它分解一下
s
是一个
str()
len
以整数值形式返回对象的长度,例如,
len('string')=6
。您不能迭代整数,因为python的
for
实际上是一个
foreach
。所以您需要一个iterable对象,它是
range(len(s))

如果同时需要符号和索引,可以执行以下操作:

for i in s:
    do_something()
for i in range(len(s)):
    do_something(i)
例如,以下代码片段:

for i, symbol in enumerate(s):
    do_something(i,symbol)
将导致:

for i, symbol in enumerate('string'):
    print(i,symbol)

对于s中的i
而不是
对于s中的i
使用
对于s中的i
而不是
对于s中的i
——后者意味着
对于i
但是你的字符串很长而且没有意义。所以:如果你想偷看,请查看解决方案。Also2:
如果我在“aeiou”中:
也可以工作-我是一个字符,不是一个int,所以可以称之为
c
;)