summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2022-12-21 19:42:00 +0100
committerErich Eckner <git@eckner.net>2022-12-21 19:42:00 +0100
commit0dee8a5e1fc38670434f4b015e5328d3f3b096d7 (patch)
tree8c135f0cc3f6788d0d64a5ad7c59f03709609333
parent94c842ae469dce9da08b5816b300ffa9afb7363b (diff)
downloadwordle-backend-0dee8a5e1fc38670434f4b015e5328d3f3b096d7.tar.xz
make more robust: trial can be longer than the solution
-rwxr-xr-xserver.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/server.py b/server.py
index 8bb520b..c504f97 100755
--- a/server.py
+++ b/server.py
@@ -24,12 +24,14 @@ class TrialHandler(BaseHandler):
def is_solved(self):
return self.solution == self.trial
def letter_is_green(self, index):
+ if index >= len(self.solution):
+ return False
return self.solution[index] == self.trial[index]
def letter_is_green_or_yellow(self, zip_list, index):
char = self.trial[index]
return [ c[0] for c in zip_list ].count(char) >= [ c[1] for c in zip_list ][0:index+1].count(char)
def get_colors(self):
- zip_list = [ c for c in zip(self.solution, self.trial) if c[0] != c[1] ]
+ zip_list = [ c for c in zip(self.solution + ''.join([' ' for i in range(len(self.trial))]), self.trial) if c[0] != c[1] ]
return [
2 if self.letter_is_green(index)
else 1 if self.letter_is_green_or_yellow(zip_list, index)