[CSP] 2019a2-二十四点

image.png

说明

  1. Python自带的eval()函数可计算符号表达式, 例如
eval('2*3+7')  # 13
  1. 由于CSP的坑爹机制, 输入数据用的方法是20年前的控制台input(), 这一度让人很烦(学学人家leetcode), 后来发现一个making less trouble 的方法是专门定义一个接收数据的函数, 会条理清楚一些

代码



def calculate_formula(formula: str):
    """
    计算四则运算的符号表达式,返回结果
    :param formula: str, 四则运算, 其中除法为整除
    :return: int, 运算结果
    """

    formula = formula.replace('x', '*')
    formula = formula.replace('/', '//')
    return eval(formula)


def input_func():
    n = eval(input())
    # 公式集
    formulae_set = []
    for i in range(n):
        formulae_set.append(input())
    return n, formulae_set


def main():
    n, formuset = input_func()
    truthvalues = list(map(lambda formula: calculate_formula(formula) == 24, formuset))

    for tval in truthvalues:
        print('Yes') if tval is True else print('No')


if __name__ == '__main__':
    main()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。