1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#"New" functions
def Reduce(F,S):
if len(S)==0:
return -999
else:
return F(S[0],Reduce(F,S[1:]))
def filter(P,S):
if len(S)==0:
return ()
elif P(S[0]):
return (S[0]) + filter(P,S[1:])
else:
return filter(P,S[1:])
def returnGreater(a,b):
if a > b:
return a
return b
#Implementation from Lab
def Sort(T):
return None
def Maximum(T):
return Reduce(returnGreater,T)
def Remove(T,E):
return None
#
# TESTS. Tests for CSci 1913 Lab 3.
#
# James Moen
# 11 Feb 19
#
# Each test is worth 2 points, for 40 points total. Comments show what must be
# printed to receive credit. Note that your function SORT must work for tuples
# with negative elements.
#
print(Maximum((1,))) # 1 2 pt.
print(Maximum((-2, -1))) # -1 2 pt.
print(Maximum((1, 1))) # 1 2 pt.
print(Maximum((1, 2, 3))) # 3 2 pt.
print(Remove((), 1)) # () 2 pt.
print(Remove((1,), 1)) # () 2 pt.
print(Remove((0, 1), 0)) # (1,) 2 pt.
print(Remove((0, 1, 2, 1, 3), 1)) # (0, 2, 1, 3) 2 pt.
print(Remove((0, 1, 2, 1, 3), 2)) # (0, 1, 1, 3) 2 pt.
print(Remove((1, 2, 3), 3)) # (1, 2) 2 pt.
print(Sort(())) # () 2 pt.
print(Sort((0,))) # (0,) 2 pt.
print(Sort((0, -1))) # (-1, 0) 2 pt.
print(Sort((1, 0))) # (0, 1) 2 pt.
print(Sort((0, 0, 1))) # (0, 0, 1) 2 pt.
print(Sort((0, -1, 0))) # (-1, 0, 0) 2 pt.
print(Sort((0, 0, 1))) # (0, 0, 1) 2 pt.
print(Sort((9, 8, 7, 6, 5, 4, 3, 2, 1))) # (1, 2, 3, 4, 5, 6, 7, 8, 9) 2 pt.
print(Sort((1, 2, 3, 4, 5, 6, 7, 8, 9))) # (1, 2, 3, 4, 5, 6, 7, 8, 9) 2 pt.
print(Sort((1, 2, 1, 4, 2, 5, 4, 5, 3))) # (1, 1, 2, 2, 3, 4, 4, 5, 5) 2 pt.
|