编辑代码

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
import itertools


def calculate_24(nums):
    operators = ['+', '-', '*', '/']
    for permutation in itertools.permutations(nums):
        for operator_permutation in itertools.product(operators, repeat=3):
            expression = f'({permutation[0]}{operator_permutation[0]}{permutation[1]}){operator_permutation[1]}' \
                         f'({permutation[2]}{operator_permutation[2]}{permutation[3]})'
            try:
                if abs(eval(expression) - 24) < 1e-9:
                    return expression
            except ZeroDivisionError:
                pass

            expression = f'(({permutation[0]}{operator_permutation[0]}{permutation[1]}){operator_permutation[1]}' \
                         f'{permutation[2]}){operator_permutation[2]}{permutation[3]}'
            try:
                if abs(eval(expression) - 24) < 1e-9:
                    return expression
            except ZeroDivisionError:
                pass

            expression = f'{permutation[0]}{operator_permutation[0]}(({permutation[1]}{operator_permutation[1]})' \
                         f'{operator_permutation[2]}({permutation[2]}{operator_permutation[2]}{permutation[3]}))'
            try:
                if abs(eval(expression) - 24) < 1e-9:
                    return expression
            except ZeroDivisionError:
                pass

    return "没有找到能算出24点的组合"


if __name__ == "__main__":
    numbers = [int(num) for num in input("请输入4个数字,用空格分隔: ").split()]
    if len(numbers)!= 4:
        print("请输入4个数字")
    else:
        result = calculate_24(numbers)
        print(result)