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