File size: 3,213 Bytes
369a349
 
 
743de20
c754616
743de20
 
 
 
 
 
 
8400f85
743de20
 
 
 
c754616
743de20
c754616
743de20
c754616
743de20
c754616
 
 
 
 
743de20
c754616
 
 
 
 
 
743de20
 
c754616
 
 
 
 
 
 
743de20
 
c754616
 
 
 
 
 
 
 
 
 
 
 
 
743de20
c754616
 
 
 
 
 
 
 
 
743de20
c754616
 
 
 
 
 
 
 
 
743de20
c754616
 
 
 
 
 
4ee3288
 
 
2f16975
4ee3288
 
 
39bf55d
 
4c679bb
8c1bc7e
 
 
 
 
39bf55d
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import streamlit as st 
import nltk 
from nltk.corpus import words

st.title("Word Game Solver") 

@st.cache # cache the download process 
def download():
    nltk.download('words')
download()


[a,b,c,d,e,f,g] = st.columns(7)

with a:
    first_letter = st.text_input(label="1st",value = 'a')
with b:
    second_letter = st.text_input(label="2nd", value = 'e')
with c:
    third_letter = st.text_input(label="3rd", value = 'i')
with d:
    fourth_letter = st.text_input(label="4th", value = 'o')
with e:
    fifth_letter = st.text_input(label="5th", value = 'u')
with f:
    sixth_letter = st.text_input(label="6th", value = '')
with g:
    seventh_letter = st.text_input(label="7th", value = '')

clue2 = first_letter+second_letter
clue3 = first_letter+second_letter+third_letter
clue4 = first_letter+second_letter+third_letter+fourth_letter
clue5 = first_letter+second_letter+third_letter+fourth_letter+fifth_letter
clue6 = first_letter+second_letter+third_letter+fourth_letter+fifth_letter+sixth_letter 
clue7 = first_letter+second_letter+third_letter+fourth_letter+fifth_letter+sixth_letter+seventh_letter 

st.markdown("### clue")
st.write(clue2)
st.write(clue3)
st.write(clue4)
st.write(clue5)
st.write(clue6)
st.write(clue7)

exclusions = st.text_input(label="exclusions")

clue_result2 = []
clue_result3 = []
clue_result4 = []
clue_result5 = []
clue_result6 = []
clue_result7 = []

two_letters = [word for word in words.words() if len(word)==2 ]
three_letters = [word for word in words.words() if len(word)==3 ]
four_letters = [word for word in words.words() if len(word)==4 ]
five_letters = [word for word in words.words() if len(word)==5 ]
six_letters = [word for word in words.words() if len(word)==6 ]
seven_letters = [word for word in words.words() if len(word)==7 ]

for word in two_letters:
 if all(c in word for c in clue2) and not any(c in word for c in exclusions):
   clue_result2.append(word)
for word in three_letters:
 if all(c in word for c in clue3) and not any(c in word for c in exclusions):
   clue_result3.append(word)
for word in four_letters:
 if all(c in word for c in clue4) and not any(c in word for c in exclusions):
   clue_result4.append(word)
for word in five_letters:
 if all(c in word for c in clue5) and not any(c in word for c in exclusions):
   clue_result5.append(word)
for word in six_letters:
 if all(c in word for c in clue6) and not any(c in word for c in exclusions):
   clue_result6.append(word)
for word in seven_letters:
 if all(c in word for c in clue7) and not any(c in word for c in exclusions):
   clue_result7.append(word)
   

st.write(clue_result2)
st.write(clue_result3)
st.write(clue_result4)
st.write(clue_result5)
st.write(clue_result6)
st.write(clue_result7) 
  
  
import requests
from bs4 import BeautifulSoup as soup
import lxml.etree as xml
import lxml

def define(word):
  url = f'https://www.dictionary.com/browse/{word}?s=t'
  web_page = soup(requests.get(url, {}).text, "lxml")
  for tag in soup.find_all("meta"):
    if tag.get("property", None) == "og:description":
         st.write(tag.get("content", None))
  #definition= soup.find("meta", property="og:description")
  #st.write(definition)
    
for word in clue_result7:
  define(word)