[CSP] 2019a2-二十四点

2020-09-04  本文已影响0人  每天学习135个小时
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()
上一篇下一篇

猜你喜欢

热点阅读