Почему данный код выводит True.....??? Я посмотрел в визуализатор и там указано < что 3 строчка выводит True , хотя там условие and(то есть И , СУ КА И ПОНИМАЕТЕ?!)
Ну так неправильно условие ИИИ написано
Вот так НАДО if 'o' not in s and 'x' not in s: А у вас просто 'o' (всегда True) и 'x' не в s
Любая непустая строка интерпретируется как True condition1 and condition2:
condition1 == 'o' (True)
condition2 == 'x' not in s И вообще вам первое условие вообще не нужно, если ниже вы сравниваете число этих букв друг с другом
"if 'o' and 'x' not in s" уже начинает раздражать...
У каждого второго начинающего неразрешимая дилемма именно с построением этой конструкции
Зачем так сложно-то?
Если букв нет, count вернёт 0. (0 == 0) == True. Проверка существования x и s не нужна.
Само выражение s.count('x' == s.count('o' УЖЕ возвращает True / False. Использовать if не требуется. def xo(s):
s = s.lower()
return s.count('x') == s.count('o') И это ВЕСЬ необходимый код.