Ваш первый тест всегда вызывает True
. password
является строкой, и поэтому она не находится внутри этого списка чисел.
Создание строк элементов списка исправляет ее:
if password not in [str(i) for i in range(0,9)]:
, но только для одиночных паролей di git ( !).
Я предполагаю, что вы захотите проверить каждый отдельный символ вместо:
for ch in password:
.. your tests
, но вам придется пересмотреть свой алгоритм, потому что если символ x
сразу же провалит первый тест. У вас есть последовательность
not(a) or not(b) or not(c)
, и вы хотите либо
not(a) and not(b) and not(c)
, либо
not (a or b or c)