1(c) def merge(dictList): answer = {} for D in dictList: for k in D: if k in answer: answer[k].append(D[k]) else: answer[k] = [D[k]] return answer 2(b) def isPalindrome(s): if len(s) == 1 or len(s) == 0: return True return s[0] == s[len(s)-1] and isPalindrome(s[1:-1]) 3(b) import random class biasedCoin(): def __init__(self, b): if type(b) != float or b < 0 or b > 1: raise ValueError self.bias = b def toss(self): r = random.random() if r <= self.bias: return "H" else: return "T"