Я специально хочу знать, почему "а не" не работает .
"1234567890" not in password
- это отрицание "1234567890" in password
, которое для password
проверяется как str
если "1234567890"
это подстрока из password
. Учтите, что:
print("123" in "123123123") # True
print("123" in "1") # False
print("123" in "321") # False
Чтобы проверить, присутствует ли какой-либо символ из одного str
во втором str
, вы можете проверить, не является ли пересечение пустым - просто поверните второй str
в set
, получите пересечение с первым и использование функции bool
для результата, получая, таким образом, True
, если хотя бы один из символов первой строки присутствует во втором, а False
в противном случае:
x = "1234567890"
y = "sometextandnumber0"
print(bool(set(y).intersection(x))) # True