我正在学习Udacity CS101课程(Python)。以下是“第2课:问题集 - 查找最后一个”
的问题和解决方案我的问题:下面代码中的while循环如何知道何时停止?
# Define a procedure, find_last, that takes as input
# two strings, a search string and a target string,
# and returns the last position in the search string
# where the target string appears, or -1 if there
# are no occurences.
#
# Example: find_last('aaaa', 'a') returns 3
# Make sure your procedure has a return statement.
def find_last(s,t):
last_pos = -1
while True:
pos = s.find(t, last_pos+1)
if pos == -1:
return last_pos
last_pos = pos
答案 0 :(得分:1)
函数退出时while
循环停止,执行return
语句时函数退出。
当return
返回-1时执行s.find()
语句,这意味着从t
开始搜索s
时找不到last_pos + 1
。< / p>
答案 1 :(得分:1)
它永远不会停止。执行return
语句时强制退出。
答案 2 :(得分:0)
当你从函数return
时,函数的执行被终止。