<jupyter_start><jupyter_text>Returnreturn 之后function就结束了！！！* 不能在for loop里面直接call return，比如在这种情况下，只会执行第一个sub_group：```for sub_group in group.groups:    return recusive_function()```* 如果没有写return就是等于return None 遇到的问题* 如果在最底层return了true，如何终止程序？assign一个variable，然后对variable进行判断。* 我以为可以用get_groups() is None来做，然而不对。我用了len(group.groups) == 0， 更好的方法是not group.get_groups()* return之后程序就结束了，不能在for loop里面直接return。* 注意test case的set up.看来test driven development很重要，否则我怎么知道对不对呢？<jupyter_code>def fib(n):
    if n == 1:
        return 0
    if n == 2:
        return 1
    return fib(n-1)+fib(n-2)
fib(5)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11594202898550725, 'fraction_numerical': 0.01288244766505636, 'mean_word_length': 6.679012345679013, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '549827', 'license': 'MIT', 'n_tokens_mistral': 309, 'n_tokens_neox': 312, 'n_words': 41, 'path': 'P1/active_directory.ipynb', 'repo_name': 'chensuhui03/udacity_python_practice', 'size': '621'}