How do I resolve tabs vs spaces problem (are two tabs or 8 spaces equivalent or not)?
It depends on how the editor's settings if two tabs will equal eight spaces.
The off-side rule, as expressed by the originator, mentions relative positioning of two successive lines of code and not the absolute number of whitespaces. Here's a nice read to help you better understand (and some quote):
"Whitespace is significant in Python
source code."
No, not in general. Only the
indentation level of your statements
is significant (i.e. the whitespace at
the very left of your statements).
Everywhere else, whitespace is not
significant and can be used as you
like, just like in any other language.
You can also insert empty lines that
contain nothing (or only arbitrary
whitespace) anywhere.
Also, the exact amount of indentation
doesn't matter at all, but only the
relative indentation of nested blocks
(relative to each other). [...]