awacke1's picture
Create backupapp.py
8350e03
raw
history blame contribute delete
No virus
1.12 kB
import streamlit as st
import itertools
from nltk.corpus import wordnet
def get_synonyms(word):
synonyms = set()
for syn in wordnet.synsets(word):
for lemma in syn.lemmas():
synonyms.add(lemma.name())
return list(synonyms)
def generate_words(letters, length=None):
permutations = set()
for i in range(1, len(letters) + 1):
for p in itertools.permutations(letters, i):
word = "".join(p)
if length is None or len(word) == length:
permutations.add(word)
return permutations
st.title("Scrabble Helper")
letters = st.text_input("Enter the letters you have:")
word_length = st.number_input("Enter the word length (optional):", min_value=0, value=0, step=1)
if letters:
st.header("Generated Words")
words = generate_words(letters, length=word_length if word_length > 0 else None)
st.write(words)
st.header("Thesaurus Lookup")
selected_word = st.selectbox("Select a word to look up synonyms:", [""] + sorted(words))
if selected_word:
synonyms = get_synonyms(selected_word)
st.write(synonyms)