Skip to content

Commit

Permalink
better display function
Browse files Browse the repository at this point in the history
  • Loading branch information
Vipul-Cariappa committed Dec 15, 2022
1 parent c3ce432 commit a60d644
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions logic.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
import math


class _ADD:
def __str__(self):
return "+"
Expand Down Expand Up @@ -251,14 +254,23 @@ def display_table(self):
self.generate_truth_table()

table_length = len(self.table[str(self)])
header_string_length = [len(i) for i in self.table.keys()]

print("|", end="")
for i in self.table.keys():
print(i, end="\t")
print(f" {i} |", end="")
print("\n")

for i in range(table_length):
for j in self.table.keys():
print(self.table[j][i], end="\t")
print("|", end="")
for index, j in enumerate(self.table.keys()):
print(
" " * math.floor((header_string_length[index] - 1) / 2)
+ f" {self.table[j][i]}"
+ " " * math.ceil((header_string_length[index] - 1) / 2)
+ " |",
end="",
)
print("\n")
print("\n")

Expand Down Expand Up @@ -295,6 +307,8 @@ def __add__(self, other):
# adding sub equations
eq.sub_eqs.append(self)
eq.sub_eqs.extend(self.sub_eqs)
eq.sub_eqs.append(other)
eq.sub_eqs.extend(other.sub_eqs)

return eq

Expand Down Expand Up @@ -333,6 +347,8 @@ def __radd__(self, other):
# adding sub equations
eq.sub_eqs.append(self)
eq.sub_eqs.extend(self.sub_eqs)
eq.sub_eqs.append(other)
eq.sub_eqs.extend(other.sub_eqs)

return eq

Expand Down Expand Up @@ -371,6 +387,8 @@ def __mul__(self, other):
# adding sub equations
eq.sub_eqs.append(self)
eq.sub_eqs.extend(self.sub_eqs)
eq.sub_eqs.append(other)
eq.sub_eqs.extend(other.sub_eqs)

return eq

Expand Down Expand Up @@ -409,6 +427,8 @@ def __rmul__(self, other):
# adding sub equations
eq.sub_eqs.append(self)
eq.sub_eqs.extend(self.sub_eqs)
eq.sub_eqs.append(other)
eq.sub_eqs.extend(other.sub_eqs)

return eq

Expand Down Expand Up @@ -442,4 +462,5 @@ def __str__(self):
y = Variable("y")
z = Variable("z")

((y * z) + (x * y)).display_table()
eq = (y * z) + (x * y)
eq.display_table()

0 comments on commit a60d644

Please sign in to comment.