Skip to content

Commit ff398ea

Browse files
committed
Update Wordle and Wordle-Solver
1 parent 62d83fa commit ff398ea

File tree

2 files changed

+43
-9
lines changed

2 files changed

+43
-9
lines changed

Wordle-Solver/main.py

+41-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,42 @@
1-
with open('words.txt') as f:
2-
content=f.read()
1+
words=[]
2+
with open('Python-Projects\Wordle-Solver\words.txt') as f:
3+
for line in f:
4+
words.append(line.strip())
35

4-
allowed_letters=input('Enter allowed (yellow box) letters: ')
5-
valid_letters=input('Enter valid (green box) letters: ')
6-
allowed_list,valid_list=[]=[]
7-
for i in content:
8-
if allowed_letters
6+
def play_wordle(words : list) -> None:
7+
while len(words) > 1:
8+
letters_in_word = []
9+
for i in range(5):
10+
letter = input("What letter did you put in position " + str(i+1) +"?: ").lower()
11+
color = input("What color is it (Green, Yellow, Grey): ").lower()
12+
if color != 'green' and color != 'yellow' and color != 'grey':
13+
print("Invalid input")
14+
return
15+
words_to_remove = []
16+
for word in words:
17+
if color == 'green':
18+
if word[i] != letter:
19+
words_to_remove.append(word)
20+
if letter not in letters_in_word:
21+
letters_in_word.append(letter)
22+
elif color == 'yellow':
23+
if letter not in word:
24+
words_to_remove.append(word)
25+
elif word[i] == letter:
26+
words_to_remove.append(word)
27+
if letter not in letters_in_word:
28+
letters_in_word.append(letter)
29+
elif color == 'grey':
30+
if letter in word:
31+
if letter not in letters_in_word:
32+
words_to_remove.append(word)
33+
elif words[i] == letter:
34+
words_to_remove.append(word)
35+
for word in words_to_remove:
36+
words.remove(word)
37+
print(words)
38+
guess = input("Did you guess correctly (Y/N)?: ").lower()
39+
if guess == 'y':
40+
print("Congratulations! You win!")
41+
return
42+
play_wordle(words)

Wordle/main.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -169,15 +169,15 @@ def add_letters(wordle_form):
169169

170170
def get_target_word(path:str):
171171
words = []
172-
with open(path + "\wordle_targets.txt","r") as target_words:
172+
with open(path + "\wordle_targets.txt") as target_words:
173173
words = target_words.read().splitlines()[1:]
174174
number_words = len(words)
175175
word_number = random.randint(0, number_words-1)
176176
_number, this_word = words[word_number].split(",")
177177
return this_word
178178

179179
def get_allowed_word_guesses(path:str):
180-
with open(path + "\words.txt","r") as target_words:
180+
with open(path + "\words.txt") as target_words:
181181
words = target_words.read().splitlines()
182182
return words
183183

0 commit comments

Comments
 (0)