$ python3 3square.py 

 --- Welcome to 3square! --- 

------------------------------
  | |   1. cold cube
  | |   2. felis silvestris
  | |   3. greek h


q123> 1
1: ice
------------------------------
 I|C|E  1. cold cube
  | |   2. felis silvestris
  | |   3. greek h


q123> 3
3: eta
------------------------------
 I|C|E  1. cold cube
  | |   2. felis silvestris
 E|T|A  3. greek h


q123> 2
2: cat

You solved it!!

------------------------------
 I|C|E  1. cold cube
 C|A|T  2. felis silvestris
 E|T|A  3. greek h


Note: in the output displayed above, only the horizontal words are shown when the user enters a guess. You *could* show the words both horizontally and vertically, if you want (but it's a little harder that way).

For example, when the user enters "ice" either of these is fine:

 I|C|E       I|C|E  
 C| |   or    | |  
 E| |         | | 

And when the user enters "eta":

 I|C|E       I|C|E  
 C| |T  or    | |  
 E|T|A       E|T|A