Untitled
unknown
plain_text
2 years ago
3.7 kB
4
Indexable
import string WORD_LENGTH = 5 # Code for functions def read_dictionary(file_name): new_dictionary_list = [] with open(file_name, 'r') as file: for line in file: new_dictionary_list.append(line.strip().lower()) return new_dictionary_list # a list of strings with lowercase letters def enter_a_word(word_type, num_letters): a_word = input(f"Enter the secret {num_letters}-letter {word_type} word: ").lower() return a_word # a string with lowercase letters def is_it_a_word(input_word, dictionary_list): return input_word in dictionary_list # Boolean variable def enter_and_check(word_type, dictionary_list): while True: in_word = enter_a_word(word_type, WORD_LENGTH) in_dict = is_it_a_word(in_word, dictionary_list) w_length = len(in_word) if w_length != WORD_LENGTH: if not in_dict: print(f"You entered a {w_length}-letter word that is not in the dictionary. Please try again!") else: print(f"You entered a {w_length}-letter word that is in the dictionary. Please try again!") continue if in_dict: return in_word # a string - valid input word else: print(f"You entered a {w_length}-letter word that is not in the dictionary. Please try again!") def compare_words(player, secret): global in_secret_word_correct_spot global in_secret_word_somewhere global not_in_secret_word final = '' in_correct_spot = 0 #Remaining letter in alphabet for letter in remaining_alphabet[:]: if letter not in in_secret_word_correct_spot and letter in player_word: remaining_alphabet.remove(letter) for i in range(len(player)): if player[i] == secret[i]: in_correct_spot += 1 in_secret_word_correct_spot.append(player[i]) elif player[i] in secret: in_secret_word_somewhere.append(player[i]) else: not_in_secret_word.append(player[i]) for i in range(len(player)): if player[i] == secret[i]: final += player[i] elif player[i] in secret: final += f'({player[i]})' else: final += '_' return final, in_correct_spot # Program code print('Welcome to new and improved Wordle - CECS 174 edition!') alphabet_string = string.ascii_lowercase remaining_alphabet = list(alphabet_string) dictionary_file = 'project4_dictionary.txt' words_list = read_dictionary(dictionary_file) in_secret_word_correct_spot = [] in_secret_word_somewhere = [] not_in_secret_word = [] N = 0 attempts = 0 secret_word = enter_and_check('secret', words_list) N = int(input("Input allowed number of attempts: ")) while attempts < N: print(f"Enter your attempt #{attempts + 1}") player_word = enter_and_check('player', words_list) result, correct_spot = compare_words(player_word, secret_word) print(f"letter in the right spot: {correct_spot}") print(f"You guessed letters of the secret_word: {result}") print(f"Previously attempted letters that are in the correct spot of secret_word: {in_secret_word_correct_spot}") print(f"Previously attempted letters that are in some spot of secret_word: {in_secret_word_somewhere}") print(f"Previously attempted letters that are not in the secret_word: {not_in_secret_word}") print(f"Remaining letters of the alphabet that have not been tried: {remaining_alphabet}") attempts += 1 if correct_spot == WORD_LENGTH: print(f"Congrats you won using {attempts} attempt(s).") break elif attempts == N: print(f"You already used #{attempts} attempts. Better luck tomorrow!")
Editor is loading...
Leave a Comment