diff --git a/__pycache__/exercise.cpython-36.pyc b/__pycache__/exercise.cpython-36.pyc new file mode 100644 index 0000000..793f8ce Binary files /dev/null and b/__pycache__/exercise.cpython-36.pyc differ diff --git a/exercise.py b/exercise.py index 0ae90ce..9747dfe 100644 --- a/exercise.py +++ b/exercise.py @@ -1,32 +1,70 @@ +""" +Run: + python -m doctest -v exercise.py +""" + # problem 1 # ------------------------------------------------------------------- # people = ['Bob Smith', 'Ken Jones', 'Alex Bradino'] def sort_by_last_name(people, order): - # return full names sorted by last name in either ascending or descending order - # add doctests make sure it passes - pass + """ + Sort by last names + + Agruments: First Last names + Returns: sorted list of names by last name + + Doctests: + >>> sort_by_last_name(['Bob Smith', 'Ken Jones', 'Alex Bradino']) + ['Alex Bradino', 'Ken Jones', 'Bob Smith'] + """ + return sorted(people, key=lambda person: person.split(' ')[-1], reverse = order) # problem 2 # ------------------------------------------------------------------- # + names = ['James', 'Susan', 'Maggie'] ages = [4, 9, 12] - +d = {} def create_dictionary_from_lists(names, ages): - # {'James':4, 'Susan':9, 'Maggie':12} - # add doctests make sure it passes - pass + """ + Create dictionary from lists + + Agruments: names = list of names; ages = list of ages + Returns: Dictionary of name and age + + Doctests: + >>> create_dictionary_from_lists(['James', 'Susan', 'Maggie'], [4,9,12]) + {'James': 4, 'Susan': 9, 'Maggie': 12} + """ + for k, v in zip(names, ages): + d[k] = v + return d + + #{name:age for name, age in zip(names, ages)} + + # problem 3 # ------------------------------------------------------------------- # + numbers = [5, 6, 7, 8, 9, 10, 11, 12] def square_even_values_and_sum_under_10(numbers): - # 6^2 + 8^2] - # add doctests make sure it passes - pass + """ + Squares even values under 10 + + Agruments: numbers + Returns: sum of even squares + + Doctests: + >>> square_even_values_and_sum_under_10([5, 6, 7, 8, 9, 10, 11, 12]) + 344 + """ + evens = list(filter(lambda n: n % 2 == 0 , numbers)) + return sum(list(map(lambda n: n**2, evens)))