Hemul GM, Я даже не допускаю, а точно знаю, что довольно многим, очень многим, людям на планете учиться самостоятельно по книгам - мрак: долго, сложно и неэффективно. Поэтому их право, безусловно, учиться так, как им удобней.
Возможно нет необходимости инициализировать переменную password пустой строкой, если можно сразу input-ом на введение пароля (что попутно избавит от необходимости делать дополнительную проверку на длину строки оператором if в цикле while) ?
>>> for i in range(2):
if i == 1:
x = 100
>>> print(x)
100
>>> for i in range(2):
if i == 150:
y = 100
>>> print(y)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
print(y)
NameError: name 'y' is not defined
Ваши т.н. five и fivefive никак не могут влиять друг на друга в контексте проверки на вхождение как отдельные переменные. Либо вопрос поставлен некорректно.
[i for i in al if i]