About
The demonstration video shows a couple words chosen from the list of about 2300 answers and the program attempting to guess them by randomly picking from the list of about 13000 valid words. The time.sleep() function was used so that we may have an easier time seeing the output. As the list of possible words that meet the conditions continues to decrease, the program's chances of guessing the answer increases.

The source code and DataFrames containing the recorded info can be found here.

Information is also printed to the terminal:

Guesses Made in 2 Attempts: 18
It is unlikely to be able to guess a word within 2 guesses. Many of these guesses can be considered flukes which explains why there are only 18 of them out of over 2300 guesses. Since a plot of a singular point of data for guesses made in 2 attempts would be a bit meaningless, the data will be summarized shortly below.

Bits of information collected
Number of possibilities left
Chances of guessing correctly

Guesses Made in 3 Attempts: 244

Guesses Made in 4 Attempts: 710

Guesses Made in 5 Attempts: 708

Guesses Made in 6 Attempts: 400

Guesses Made in 7 Attempts: 144

Guesses Made in 8 Attempts: 48

Guesses Made in 9 Attempts: 27

Guesses Made in 10 Attempts: 7

Guesses Made in 11 Attempts: 3