Because in python
if tunnel == "Y" or "Yes" or "Yea" or "Si" or "go" or "Aye" or "Sure":
equivalently
if (tunnel == "Y") or ("Yes") or ("Yea") or ("Si") or ("go") or ("Aye") or ("Sure"):
and a nonempty string is true.
You must change your code to
if tunnel in ("Y", "Yes", "Yea", "Si", "go", "Aye", "Sure"):
or, to accept changes in capitalization:
if tunnel.lower() in ("y", "yes", "yea", "si", "go", "aye", "sure"):
or even use regex.
In Python 2.7 and later, you can even use sets that are fasters than tuples when using in .
if tunnel.lower() in {"y", "yes", "yea", "si", "go", "aye", "sure"}:
But you really will get a level upgrade from python 3.2 and higher, since before implementation of the litterals sets it is not as optimized as tuples.