Caesar Encryption Tool
Welcome to Code Review.

I would be going through this code quickly.


Read PEP 8. It is de facto standard for coding in python. Generally, we name the variables in lower_case_with_underscore, and any constant used as CONSTANT_UNDERSCORE. 
Use in-built functions. You are using your letters_table to find out whether the character is alphabet or not, use isalpha() instead. Similarly you can use ord and chr functions which would allow you to preserve case. Using all of these functions would remove the need of letters_table 
Keep consistent comments. Your comments indicated that key default value is 3. It is not, and if I leave input blank, it would raise error.
Make your code modular. You can easily separate your I/O logic with implementation logic. (Use functions)


Since you indicate you want to improve this code yourself, I would refrain from posting refactored version of your code. (If you want me to as an example, I can do that).

Here are some more improvements which you could incorporate:


Allow user an option to select between encryption and decryption mode. (with functions, this would be done by having an extra parameter with default value)
Other encryption logic while maintaining the same I/O logic. (Would help you understand power of function modules)


Some Python code quality skills which might be handy in future:


Write useful docstring (see examples in link). While for this
program, your comments are more than enough, it is useful skill.
Learn to write some assertion tests and then unit tests.