1. Write docstrings for the following methods describing what each of them do: a. def mystery1(num1, num2): l = [] for i in range(num1): l.append(num2) return l b. def mystery2(num1, num2): return [num2]*num1 2. Given the following function: def mystery(sequence): result = "" for val in sequence: result = result + val + val return result For each of the following calls, state what would be returned (or an error): a. mystery(5) b. mystery([1, 2, 3]) c. mystery("abcd") d. mystery(("apples", "bananas")) e. mystery(["apples", "bananas"]) f. mystery("123") 3. Modify the stupid name function so that it captures all capitalization variants of "Dave" or "David" (or you can change it to your favorite name instead :). Hint: rather than try and enumerate all possible variants (like "DaviD"), an easier approach is to lowercase the input (using the lower() method) and then do the comparison on the lowercased string.