blob: 1a9b6012f49129e26aee891c0735e6c42951e45b (
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
|
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):
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.
|