CS 470/570 homework 0

Examples of solutions for hw0

In [1]:
from hw0a import *
In [2]:
main()
hours
# is it greater than 0?
 OK  got: 2 expected: <function main.<locals>.<lambda> at 0x7fab380df9e0>
sum_digits
 OK  got: 1 expected: 1
 OK  got: 4 expected: 4
 OK  got: 1 expected: 1
 OK  got: 45 expected: 45
 OK  got: 9 expected: 9
reduce
 OK  got: 9 expected: 9
 OK  got: 9 expected: 9
 OK  got: 5 expected: 5
 OK  got: 5 expected: 5
removep
 OK  got: [1, 3, 5] expected: [1, 3, 5]
 OK  got: [0, 2, 4, 6] expected: [0, 2, 4, 6]
 OK  got: [0, 1, 2, 3] expected: [0, 1, 2, 3]
 OK  got: [3, 4, 5, 6] expected: [3, 4, 5, 6]
lcremovep
 OK  got: [1, 3, 5] expected: [1, 3, 5]
 OK  got: [0, 2, 4, 6] expected: [0, 2, 4, 6]
 OK  got: [0, 1, 2, 3] expected: [0, 1, 2, 3]
 OK  got: [3, 4, 5, 6] expected: [3, 4, 5, 6]
collectp
 OK  got: [0, 2, 4, 6] expected: [0, 2, 4, 6]
 OK  got: [1, 3, 5] expected: [1, 3, 5]
 OK  got: [4, 5, 6] expected: [4, 5, 6]
 OK  got: [0, 1, 2] expected: [0, 1, 2]
lccollectp
 OK  got: [0, 2, 4, 6] expected: [0, 2, 4, 6]
 OK  got: [1, 3, 5] expected: [1, 3, 5]
 OK  got: [4, 5, 6] expected: [4, 5, 6]
 OK  got: [0, 1, 2] expected: [0, 1, 2]
power_set
 OK  got: [[]] expected: [[]]
 OK  got: [[], [1]] expected: [[], [1]]
 OK  got: [[], [1], [1, 2], [2]] expected: [[], [1], [1, 2], [2]]
 OK  got: [[], [1], [1, 2], [1, 2, 3], [1, 3], [2], [2, 3], [3]] expected: [[], [1], [1, 2], [1, 2, 3], [1, 3], [2], [2, 3], [3]]
 OK  got: [[], [1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 4], [1, 3], [1, 3, 4], [1, 4], [2], [2, 3], [2, 3, 4], [2, 4], [3], [3, 4], [4]] expected: [[], [1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 4], [1, 3], [1, 3, 4], [1, 4], [2], [2, 3], [2, 3, 4], [2, 4], [3], [3, 4], [4]]
 OK  got: [[], [2], [2], [2, 2]] expected: [[], [2], [2], [2, 2]]
 OK  got: [[], ['bacon'], ['bacon', 'mushroom'], ['bacon', 'sausage'], ['bacon', 'sausage', 'mushroom'], ['mushroom'], ['onion'], ['onion', 'bacon'], ['onion', 'bacon', 'mushroom'], ['onion', 'bacon', 'sausage'], ['onion', 'bacon', 'sausage', 'mushroom'], ['onion', 'mushroom'], ['onion', 'peppers'], ['onion', 'peppers', 'bacon'], ['onion', 'peppers', 'bacon', 'mushroom'], ['onion', 'peppers', 'bacon', 'sausage'], ['onion', 'peppers', 'bacon', 'sausage', 'mushroom'], ['onion', 'peppers', 'mushroom'], ['onion', 'peppers', 'sausage'], ['onion', 'peppers', 'sausage', 'mushroom'], ['onion', 'sausage'], ['onion', 'sausage', 'mushroom'], ['peppers'], ['peppers', 'bacon'], ['peppers', 'bacon', 'mushroom'], ['peppers', 'bacon', 'sausage'], ['peppers', 'bacon', 'sausage', 'mushroom'], ['peppers', 'mushroom'], ['peppers', 'sausage'], ['peppers', 'sausage', 'mushroom'], ['sausage'], ['sausage', 'mushroom']] expected: [[], ['bacon'], ['bacon', 'mushroom'], ['bacon', 'sausage'], ['bacon', 'sausage', 'mushroom'], ['mushroom'], ['onion'], ['onion', 'bacon'], ['onion', 'bacon', 'mushroom'], ['onion', 'bacon', 'sausage'], ['onion', 'bacon', 'sausage', 'mushroom'], ['onion', 'mushroom'], ['onion', 'peppers'], ['onion', 'peppers', 'bacon'], ['onion', 'peppers', 'bacon', 'mushroom'], ['onion', 'peppers', 'bacon', 'sausage'], ['onion', 'peppers', 'bacon', 'sausage', 'mushroom'], ['onion', 'peppers', 'mushroom'], ['onion', 'peppers', 'sausage'], ['onion', 'peppers', 'sausage', 'mushroom'], ['onion', 'sausage'], ['onion', 'sausage', 'mushroom'], ['peppers'], ['peppers', 'bacon'], ['peppers', 'bacon', 'mushroom'], ['peppers', 'bacon', 'sausage'], ['peppers', 'bacon', 'sausage', 'mushroom'], ['peppers', 'mushroom'], ['peppers', 'sausage'], ['peppers', 'sausage', 'mushroom'], ['sausage'], ['sausage', 'mushroom']]
sumtree
 OK  got: 6 expected: 6
 OK  got: 6 expected: 6
 OK  got: 0 expected: 0
 OK  got: 2 expected: 2
 OK  got: 10 expected: 10
 OK  got: 5 expected: 5
 OK  got: 5 expected: 5
 OK  got: 5 expected: 5
doubletree
 OK  got: [2, 4, 6] expected: [2, 4, 6]
 OK  got: [2, [4, [6]]] expected: [2, [4, [6]]]
 OK  got: [] expected: []
 OK  got: [[[[16, 16, 16]]]] expected: [[[[16, 16, 16]]]]
 OK  got: [2, 4, 6, '4', '5', ['6']] expected: [2, 4, 6, '4', '5', ['6']]
 OK  got: [2, 4, 6, '4', '5', ['6'], True] expected: [2, 4, 6, '4', '5', ['6'], True]
types
 OK  got: ['bool', 'float', 'int', 'str'] expected: ['bool', 'float', 'int', 'str']
 OK  got: ['int'] expected: ['int']
 OK  got: ['bool', 'int', 'str'] expected: ['bool', 'int', 'str']
 OK  got: ['bool', 'int', 'str'] expected: ['bool', 'int', 'str']
 OK  got: ['bool', 'float', 'int', 'str'] expected: ['bool', 'float', 'int', 'str']
 OK  got: ['bool', 'dict', 'float', 'int', 'str'] expected: ['bool', 'dict', 'float', 'int', 'str']
 OK  got: ['bool', 'dict', 'float', 'int', 'str', 'tuple'] expected: ['bool', 'dict', 'float', 'int', 'str', 'tuple']
stack
 OK  got: stack([1, 2, 3, 4]) expected: stack([1, 2, 3, 4])
 OK  got: True expected: True
 OK  got: [4, 3, 2, 1] expected: [4, 3, 2, 1]
 OK  got: 4 expected: 4
 OK  got: True expected: True
 OK  got: False expected: False
 OK  got: 4 expected: 4
 OK  got: 3 expected: 3
 OK  got: 2 expected: 2
 OK  got: 'fedcba' expected: 'fedcba'
 OK  got: '' expected: ''
balanced
 OK  got: True expected: True
 OK  got: True expected: True
 OK  got: False expected: False
 OK  got: False expected: False
 OK  got: False expected: False
queue
 OK  got: True expected: True
 OK  got: 9 expected: 9
 OK  got: [9, 1, 2] expected: [9, 1, 2]
 OK  got: [9, 1, 2] expected: [9, 1, 2]
 OK  got: True expected: True
 OK  got: False expected: False
 OK  got: 9 expected: 9
 OK  got: 1 expected: 1
 OK  got: 2 expected: 2
 OK  got: False expected: False
 OK  got: 'queue is empty' expected: 'queue is empty'
In [3]:
sum_digits(1234)
Out[3]:
10
In [4]:
reduce(123456789)
Out[4]:
9
In [5]:
removep(range(7),lambda x:x % 2)
Out[5]:
[0, 2, 4, 6]
In [6]:
lcremovep(range(7),lambda x: x%2 == 0)
Out[6]:
[1, 3, 5]
In [7]:
collectp(range(7), lambda x: x%2)
Out[7]:
[1, 3, 5]
In [8]:
lccollectp(range(7),lambda x: x%2 == 0)
Out[8]:
[0, 2, 4, 6]
In [9]:
power_set(['a','b','c'])
Out[9]:
[[], ['a'], ['a', 'b'], ['a', 'b', 'c'], ['a', 'c'], ['b'], ['b', 'c'], ['c']]
In [10]:
sumtree([[[2,3,4,[5,6,7]]]])
Out[10]:
27
In [11]:
doubletree([[[2,3,4,[5,6,7]]]])
Out[11]:
[[[4, 6, 8, [10, 12, 14]]]]
In [12]:
types([1,[2,3,"a"], True, 3.4, 5])
Out[12]:
['bool', 'float', 'int', 'str']
In [13]:
s = stack()
s.push(1)
s.push(2)
s.push(3)
s.push(4)
s
Out[13]:
stack([1, 2, 3, 4])
In [14]:
s == s.copy()
Out[14]:
True
In [15]:
s == stack([1,2,3,4])
Out[15]:
True
In [16]:
s.peek()
Out[16]:
4
In [17]:
5 in s
Out[17]:
False
In [18]:
4 in s
Out[18]:
True
In [19]:
balanced('(123(456))')
Out[19]:
True
In [20]:
balanced('(123))')
Out[20]:
False
In [21]:
d = queue()
d.enqueue(1)
d.enqueue(2)
d.enqueue(3)
d
Out[21]:
queue([1, 2, 3])
In [22]:
d.peek()
Out[22]:
1
In [23]:
d == d.copy()
Out[23]:
True
In [24]:
d == queue([1,2,3])
Out[24]:
True
In [25]:
2 in d
Out[25]:
True
In [26]:
d.dequeue()
Out[26]:
1
In [27]:
1 in d
Out[27]:
False
In [ ]: