#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.
Комментариев нет:
Отправить комментарий