| |
| """ |
| Simple Python program to read and process dict-words/dict.csv |
| """ |
|
|
| import csv |
| import os |
|
|
| def read_dict_csv(file_path): |
| """Read the dictionary CSV file and return word->definition dictionary.""" |
| word_dict = {} |
| |
| try: |
| with open(file_path, 'r', encoding='utf-8') as csvfile: |
| reader = csv.DictReader(csvfile) |
| for row in reader: |
| word_dict[row['word'].lower()] = row['definition'] |
| except FileNotFoundError: |
| print(f"Error: File {file_path} not found") |
| return None |
| except Exception as e: |
| print(f"Error reading file: {e}") |
| return None |
| |
| return word_dict |
|
|
| def search_word(word_dict, word): |
| """Search for a word in the dictionary.""" |
| word_lower = word.lower() |
| if word_lower in word_dict: |
| return word_dict[word_lower] |
| return None |
|
|
| def main(): |
| |
| dict_path = os.path.join(os.path.dirname(__file__), 'dict-words', 'dict.csv') |
| |
| print(f"Reading dictionary from: {dict_path}") |
| |
| |
| word_dict = read_dict_csv(dict_path) |
| |
| if word_dict: |
| print(f"Successfully loaded {len(word_dict)} words from dictionary") |
| |
| |
| print("\nFirst 5 words:") |
| for i, (word, definition) in enumerate(list(word_dict.items())[:5]): |
| print(f"{i+1}. {word}: {definition[:100]}...") |
|
|
| for word in ['suit']: |
| print(f"word: {word}, definition: \"{word_dict[word]}\"") |
| |
| |
| print(f"\nStatistics:") |
| print(f"Total words: {len(word_dict)}") |
| avg_def_length = sum(len(definition) for definition in word_dict.values()) / len(word_dict) |
| print(f"Average definition length: {avg_def_length:.1f} characters") |
| |
| |
| longest_word = max(word_dict.keys(), key=len) |
| shortest_word = min(word_dict.keys(), key=len) |
| print(f"Longest word: {longest_word} ({len(longest_word)} chars)") |
| print(f"Shortest word: {shortest_word} ({len(shortest_word)} chars)") |
| |
| |
| print("\n" + "="*50) |
| print("Interactive Dictionary Search (type 'quit' to exit)") |
| print("="*50) |
| |
| while True: |
| search_term = input("\nEnter word to search: ").strip() |
| if search_term.lower() == 'quit': |
| break |
| |
| definition = search_word(word_dict, search_term) |
| if definition: |
| print(f"\n{search_term.upper()}: {definition}") |
| else: |
| print(f"\n'{search_term}' not found in dictionary") |
| else: |
| print("Failed to load dictionary data") |
|
|
| if __name__ == "__main__": |
| main() |
|
|