From 5b8fa662b9a1c8e15afafe50368f204d22556143 Mon Sep 17 00:00:00 2001 From: Farid Manafov Date: Thu, 6 Aug 2020 21:47:17 -0400 Subject: [PATCH 1/5] implemented bit array interface with a setall method and constructor --- bitarray.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 bitarray.py diff --git a/bitarray.py b/bitarray.py new file mode 100644 index 0000000..37d12ee --- /dev/null +++ b/bitarray.py @@ -0,0 +1,17 @@ +# make an array + +class bitarray: + def __init__(self, size): + self.arr = [0] * size + + + def setall(self, bit): + if bit == 0 or bit == 1: + for i in range(len(self.arr)): + self.arr[i] = bit + else: + raise Exception("Invalid bit entered, only 1 or 0 are valid inputs.") + + # def set(self, n, bit) + + # def get(self, n) \ No newline at end of file From 4e3d52746755cab64545723226c00d23fc75169a Mon Sep 17 00:00:00 2001 From: Farid Manafov Date: Fri, 7 Aug 2020 12:12:16 -0400 Subject: [PATCH 2/5] finished set and get, did not put any throw conditions --- bitarray.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bitarray.py b/bitarray.py index 37d12ee..671005f 100644 --- a/bitarray.py +++ b/bitarray.py @@ -12,6 +12,10 @@ def setall(self, bit): else: raise Exception("Invalid bit entered, only 1 or 0 are valid inputs.") - # def set(self, n, bit) + def set(self, n, bit): + if bit == 0 or bit == 1: + self.arr[n] = bit + - # def get(self, n) \ No newline at end of file + def get(self, n): + return self.arr[n] \ No newline at end of file From db1533605e486c4bddacc3deb2b496304ca1db74 Mon Sep 17 00:00:00 2001 From: Farid Manafov Date: Fri, 7 Aug 2020 13:06:00 -0400 Subject: [PATCH 3/5] added error exceptions and error messages --- bitarray.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/bitarray.py b/bitarray.py index 671005f..3a10d5f 100644 --- a/bitarray.py +++ b/bitarray.py @@ -1,21 +1,41 @@ # make an array class bitarray: + def __init__(self, size): self.arr = [0] * size def setall(self, bit): + if bit == 0 or bit == 1: for i in range(len(self.arr)): self.arr[i] = bit else: raise Exception("Invalid bit entered, only 1 or 0 are valid inputs.") + def set(self, n, bit): + if bit == 0 or bit == 1: - self.arr[n] = bit + + try: + self.arr[n] = bit + except IndexError: + raise Exception("The value entered is out of range of the array.") + except TypeError: + raise Exception("Please enter a value that is an integer") + + else: + raise Exception("Invalid bit entered, only 1 or 0 are valid inputs.") + def get(self, n): - return self.arr[n] \ No newline at end of file + + try: + return self.arr[n] + except IndexError: + raise Exception("The value entered is out of range of the array.") + except TypeError: + raise Exception("The value entered is not an integer, Please enter a value that is an integer") \ No newline at end of file From 97929fb005979845dacf537e249ad2a2662b97b5 Mon Sep 17 00:00:00 2001 From: Farid Manafov Date: Fri, 7 Aug 2020 13:10:43 -0400 Subject: [PATCH 4/5] cleanup --- bitarray.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bitarray.py b/bitarray.py index 3a10d5f..fdb7524 100644 --- a/bitarray.py +++ b/bitarray.py @@ -1,5 +1,3 @@ -# make an array - class bitarray: def __init__(self, size): @@ -32,7 +30,7 @@ def set(self, n, bit): def get(self, n): - + try: return self.arr[n] except IndexError: From faa86dd4a5189ba7893185893800ed0b9ff212ca Mon Sep 17 00:00:00 2001 From: Farid Manafov Date: Fri, 7 Aug 2020 13:38:51 -0400 Subject: [PATCH 5/5] more cleanup --- bitarray.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bitarray.py b/bitarray.py index fdb7524..41aac37 100644 --- a/bitarray.py +++ b/bitarray.py @@ -10,7 +10,7 @@ def setall(self, bit): for i in range(len(self.arr)): self.arr[i] = bit else: - raise Exception("Invalid bit entered, only 1 or 0 are valid inputs.") + raise Exception("SetAll: Invalid bit entered, only 1 or 0 are valid inputs.") def set(self, n, bit): @@ -20,12 +20,12 @@ def set(self, n, bit): try: self.arr[n] = bit except IndexError: - raise Exception("The value entered is out of range of the array.") + raise Exception("Set: Value entered is out of range of the array.") except TypeError: - raise Exception("Please enter a value that is an integer") + raise Exception("Set: Enter a value that is an integer") else: - raise Exception("Invalid bit entered, only 1 or 0 are valid inputs.") + raise Exception("Set: Invalid bit entered, only 1 or 0 are valid inputs.") @@ -34,6 +34,6 @@ def get(self, n): try: return self.arr[n] except IndexError: - raise Exception("The value entered is out of range of the array.") + raise Exception("Get: Value entered is out of range of the array.") except TypeError: - raise Exception("The value entered is not an integer, Please enter a value that is an integer") \ No newline at end of file + raise Exception("Get: Value entered is not an integer.")