blob: 7fc6ff334aefdf9b0dec4561f01dff0c6a3606fd (
plain) (
blame)
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
class Zillion:
def __init__(self,digits):
self.digits = digits
self.__x=0
self.List = []
self.toList()
def toList(self):
badBoolean=False
if len(self.digits) == 0:
raise RuntimeError #Cannot make a list of nothing
for n in range (0,len(self.digits)):
if self.digits[n] is not ',':
if self.digits[n] is not ' ':
try:
self.List+=[int(self.digits[n])]
badBoolean=True
except ValueError:
raise RuntimeError
if badBoolean is False:
raise RuntimeError
else:
return self.List
def increment(self):
newList=self.List
newList[len(self.List)-1] += 1
if newList[len(self.List)-1]>=10:
return None
def isZero(self):
for p in range (0,len(self.List)-1):
if self.List[p] is not 0 or not '0':
return False
return True
def toString(self):
string=''
for q in range (0,len(self.List)):
string+=str(self.List[q])
return string
#
# TESTS. Test the class Zillion for CSci 1913 Lab 2.
#
# James Moen
# 18 Sep 17
#
# Every test is followed by a comment which shows what must be printed if your
# code works correctly. It also shows how many points the test is worth.
#
try:
z = Zillion('')
except RuntimeError:
print('Empty string')
# It must print 'Empty string' without apostrophes. 2 points.
try:
z = Zillion(' , ')
except RuntimeError:
print('No digits in the string')
# It must print 'No digits in the string' without apostrophes. 2 points.
try:
z = Zillion('1+0')
except RuntimeError:
print('Non-digit in the string')
# It must print 'Non-digit in the string' without apostrophes. 2 points.
try:
z = Zillion('0')
except RuntimeError:
print('This must not be printed')
# It must print nothing. 2 points.
print(z.isZero()) # It must print True. 2 points.
try:
z = Zillion('000000000')
except RuntimeError:
print('This must not be printed')
# It must print nothing. 2 points.
print(z.isZero()) # It must print True. 2 points.
try:
z = Zillion('000 000 000')
except RuntimeError:
print('This must not be printed')
# It must print nothing. 2 points.
print(z.isZero()) # It must print True. 2 points.
try:
z = Zillion('997')
except RuntimeError:
print('This must not be printed')
# It must print nothing. 2 points.
print(z.isZero()) # It must print False. 2 points.
print(z.toString()) # It must print 997. 2 points.
z.increment()
print(z.toString()) # It must print 998. 2 points.
z.increment()
print(z.toString()) # It must print 999. 2 points.
z.increment()
print(z.toString()) # It must print 1000. 2 points.
try:
z = Zillion('0 9,9 9')
except:
print('This must not be printed')
# It must print nothing. 3 points.
z.increment()
print(z.toString()) # It must print 1000. 2 points.
|