美文网首页
[CSP] 2019a2-二十四点

[CSP] 2019a2-二十四点

作者: 每天学习135个小时 | 来源:发表于2020-09-04 09:38 被阅读0次
    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()
    

    相关文章

      网友评论

          本文标题:[CSP] 2019a2-二十四点

          本文链接:https://www.haomeiwen.com/subject/pftzsktx.html