while循环如何知道何时停止?

时间:2014-04-27 08:49:18

标签: python while-loop

我正在学习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

3 个答案:

答案 0 :(得分:1)

函数退出时while循环停止,执行return语句时函数退出。

return返回-1时执行s.find()语句,这意味着从t开始搜索s时找不到last_pos + 1。< / p>

答案 1 :(得分:1)

它永远不会停止。执行return语句时强制退出。

答案 2 :(得分:0)

当你从函数return时,函数的执行被终止。