Python checkio Boolean Algebra解决方案

来源:互联网 发布:wifi mac地址查询 编辑:程序博客网 时间:2024/06/01 08:59
方法1OPERATION_NAMES = ("conjunction", "disjunction", "implication", "exclusive", "equivalence")def boolean(x, y, operation):    if operation == OPERATION_NAMES[0]:        return x and y    if operation == OPERATION_NAMES[1]:        return x or y    if operation == OPERATION_NAMES[2]:        return not x or y    if operation == OPERATION_NAMES[3]:        return (x or y) and not (x and y)    if operation == OPERATION_NAMES[4]:        return x == y    return 1 or 0
方法2OPERATION_NAMES = {"conjunction": lambda x, y: x & y,                     "disjunction": lambda x, y: x | y,                     "implication": lambda x, y: not x or y,                     "exclusive": lambda x, y: x ^ y,                     "equivalence": lambda x, y: x == y}def boolean(x, y, operation):    return OPERATION_NAMES[operation](x, y)