我怎样才能修复我的代码,以便我可以继续添加索引的总和而不是只返回一个索引?
How can I fix my code so that I can keep on adding the sum of the indices instead of it just returning one index?
我是 python 的新手,正在学习 class,我的一项作业要求编写一个函数,该函数将一个字符串和一个字符作为参数。如果该字符在字符串中,则 return 该字符出现的索引之和。否则,return 错误。我们不能使用 find() 或 index() 内置函数。
到目前为止,这是我的代码
def addIndices(myString, myChar):
summy= 0
for i in myChar:
if i not in myString:
return False
else:
for i in myString:
if i in myString:
summy += 1
return summy
您需要的是如下内容:
def addIndices(myString, myChar):
sum = 0
for i, ch in enumerate(myString):
if ch == myChar:
sum += i
if sum == 0: return False
return sum
addIndices("hiii", "o")
如果您的作业表明指数从 0 开始,请将 sum += i
行更改为 sum +=i+1
这是一个示例代码。注意你说的是 return 索引之和,所以你需要添加每个匹配字符的索引(从 0 开始),而不仅仅是为每个匹配字符添加 1。
#!/usr/bin/env python
def addIndices(myString, myChar):
summy = 0
if not myChar in myString:
return False
else:
i = 0
for ch in myString:
if myChar == ch:
summy += i
i += 1
return summy
sum = addIndices('it is a test', 'i')
print(sum)
我是 python 的新手,正在学习 class,我的一项作业要求编写一个函数,该函数将一个字符串和一个字符作为参数。如果该字符在字符串中,则 return 该字符出现的索引之和。否则,return 错误。我们不能使用 find() 或 index() 内置函数。
到目前为止,这是我的代码
def addIndices(myString, myChar):
summy= 0
for i in myChar:
if i not in myString:
return False
else:
for i in myString:
if i in myString:
summy += 1
return summy
您需要的是如下内容:
def addIndices(myString, myChar):
sum = 0
for i, ch in enumerate(myString):
if ch == myChar:
sum += i
if sum == 0: return False
return sum
addIndices("hiii", "o")
如果您的作业表明指数从 0 开始,请将 sum += i
行更改为 sum +=i+1
这是一个示例代码。注意你说的是 return 索引之和,所以你需要添加每个匹配字符的索引(从 0 开始),而不仅仅是为每个匹配字符添加 1。
#!/usr/bin/env python
def addIndices(myString, myChar):
summy = 0
if not myChar in myString:
return False
else:
i = 0
for ch in myString:
if myChar == ch:
summy += i
i += 1
return summy
sum = addIndices('it is a test', 'i')
print(sum)