def find(word, letter):
index = 0
while index < len(word):
if word[index] == letter:
return index
index = index + 1
return -1
我明白了......
练习说:
修改find以使其具有第三个参数,即word中的索引where 它应该开始寻找。
请原谅我的新意,但......当它说修改'find'时它有第三个参数...... find(word,letter,thirdparameter)
或者在函数定义中放置第三个参数?它应该开始寻找单词中的索引,我不太确定我是否会误解,但是它想要一个单词中的索引并开始查看随机索引号? ħ
答案 0 :(得分:2)
当它说修改'find'所以它有第三个参数... find(word,letter,thirdparameter)
右。
或在函数定义中添加第三个para?
庵。那是一回事。在函数定义中添加第三个参数。
答案 1 :(得分:2)
问题是要求您为起始索引创建第三个参数。新签名类似find(letter, word, startindex)
。它会像这样工作:
>>> find('red blue', 'd', 0) # starts at index 0 and finds 'd' at index 2
2
>>> find('red blue', 'd', 3) # starts at index 3 and finds no d's
-1
>>> find('red blue', 'e', 3) # starts at index 3, so misses the 'e' at index 1
7
答案 2 :(得分:2)
这意味着您应该修改该函数,以便它需要一个额外的参数,该参数将是在查找匹配项之前在字符串中开始的索引。
以下是进行此更改后的一些示例输出,可帮助您理解:
>>> find('abc abc', 'b', 0) # starting at beginning, will find the first 'b'
1
>>> find('abc abc', 'b', 2) # starting after first 'b', will find the second 'b'
5
>>> find('abc abc', 'b', 6) # starting after both 'b's, won't find a match
-1
答案 3 :(得分:1)
目前需要两个参数word
和letter
。代码中已经有一个用于索引的变量,因此将其拉出并将其提升为具有默认值的参数。
答案 4 :(得分:0)
def find(word, letter, startat):
try:
return word[startat:].index(letter)+startat
except:
return -1
保持原始实施:
def find(word, letter, startat):
for index in range(startat, len(word)+1):
if word[index] == letter:
return index
return -1