说明
- Python自带的eval()函数可计算符号表达式, 例如
eval('2*3+7') # 13
- 由于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()