Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Почему True != False => False

#python #python_3x #xor


Написал простой код с функцией исключающего или, которая возвращает значение bool.

def xor(x, y):
    return x != y


if xor(bool(input()), bool(input())):
    print(1)
else:
    print(0)


При этом значение функции всегда False

Но например 1 != 0, должно выйти True

Почему так происходит и чего я не понимаю?
    


Ответы

Ответ 1



Если хотите работать с числами, то конвертируйте значения input() в числа: def xor(x, y): return x != y if xor(bool(int(input())), bool(int(input()))): print(1) else: print(0) Преобразование непустой строки к bool всегда даёт True. А вот преобразование к bool числа выдаст False, если будет передан 0. Если же Вы хотите подавать на вход для сравнения чистые строки, уберите преобразование к bool.

Комментариев нет:

Отправить комментарий