计算24点的python代码

server/2024/11/14 20:03:11/

python_0">计算24点的python代码

GPT-4o 确实不错,以后3.5和4.0都难以一次性解决的问题,4.0都要对话许多次才能完美实现,现在4o一次就解决了,记录一下。

import itertools
import operator# Define the basic operations
ops = {'+': operator.add,'-': operator.sub,'*': operator.mul,'/': operator.truediv
}def check24(nums):# Generate all permutations of the numbersfor num_permutation in itertools.permutations(nums):# Generate all possible operationsfor op1, op2, op3 in itertools.product(ops, repeat=3):# Apply the operations in different orders with different parenthesistry:if abs(ops[op3](ops[op2](ops[op1](num_permutation[0], num_permutation[1]), num_permutation[2]), num_permutation[3]) - 24) < 1e-6:return f"({num_permutation[0]} {op1} {num_permutation[1]}) {op2} {num_permutation[2]} {op3} {num_permutation[3]}"if abs(ops[op3](ops[op1](num_permutation[0], ops[op2](num_permutation[1], num_permutation[2])), num_permutation[3]) - 24) < 1e-6:return f"({num_permutation[0]} {op1} ({num_permutation[1]} {op2} {num_permutation[2]})) {op3} {num_permutation[3]}"if abs(ops[op1](num_permutation[0], ops[op3](ops[op2](num_permutation[1], num_permutation[2]), num_permutation[3])) - 24) < 1e-6:return f"{num_permutation[0]} {op1} (({num_permutation[1]} {op2} {num_permutation[2]}) {op3} {num_permutation[3]})"if abs(ops[op1](num_permutation[0], ops[op2](num_permutation[1], ops[op3](num_permutation[2], num_permutation[3]))) - 24) < 1e-6:return f"{num_permutation[0]} {op1} ({num_permutation[1]} {op2} ({num_permutation[2]} {op3} {num_permutation[3]}))"if abs(ops[op2](ops[op1](num_permutation[0], num_permutation[1]), ops[op3](num_permutation[2], num_permutation[3])) - 24) < 1e-6:return f"({num_permutation[0]} {op1} {num_permutation[1]}) {op2} ({num_permutation[2]} {op3} {num_permutation[3]})"except ZeroDivisionError:continuereturn "No solution found"# Example usage
numbers = [3, 3, 8, 8]
result = check24(numbers)
print(result)  # Output: (8 / (3 - (8 / 3)))

http://www.ppmy.cn/server/45902.html

相关文章

2024版能源领域网络与数据安全政策全集

能源是工业的粮食&#xff0c;能源安全事关国家根本安全。当今国际局势风云变幻&#xff0c;全球地缘政治、经济、科技体系正经历深刻变化&#xff0c;能源局势将更加错综复杂&#xff0c;威胁能源安全的各种“灰犀牛”“黑天鹅”事件时有发生&#xff0c;促使国际能源版图深刻…

Android 系统中AHardwareBuffer、ANativeWindowBuffer和GraphicBuffer的关系

Android Camera软件系统中&#xff0c;每路Stream的Buffer都是DMA-BUF&#xff0c;这种Buffer通常对外暴露的结构是ANativeWindowBuffer或GraphicBuffer&#xff08;跨进程传递时用的native_handle_t&#xff09;&#xff0c;本文介绍Android系统中AHardwareBuffer、ANativeWin…

JavaScript基础知识1(引入方式、注释、输入输出、变量、数组)

JavaScript基础知识1&#xff08;引入方式、注释、输入输出、变量、数组&#xff09; javascript 引入方式内部方式外部形式 注释和结束符单行注释多行注释 结束符 输入和输出输出输入 alert(你好JS);document.write(js我来了);console.log(看看对不对);prompt(输入您的姓名&am…

学 Go 具体能干什么?

学习 Go (Golang) 后&#xff0c;你可以从事许多不同的工作和项目&#xff0c;Go 语言以其高性能、并发处理和简洁的语法而闻名&#xff0c;特别适合以下几个领域&#xff1a; 1. 后端开发 Go 在后端开发中非常流行&#xff0c;特别适合构建高性能的 Web 服务和 API。 Web 框…

5.二叉树详解(附习题)

1.二叉树链式结构的实现 1.1 前置说明 在学习二叉树的基本操作前&#xff0c;需先要创建一棵二叉树&#xff0c;然后才能学习其相关的基本操作。本文准备讲述一些二叉树的基础知识&#xff0c;此处手动快速创建一棵简单的二叉树&#xff0c;来快速进入二叉 树 操作学习&#x…

【Oracle】修改已经存在的序列的当前值

前情提要 在oracle中一般使用序列来实现ID自增。但是oracle中序列维护的没有mysql那么好。只是单存的递增。 比如新建了一个序列&#xff0c;从1开始&#xff0c;每次递增1。此时我向数据库里插入一条id10的数据。那么在序列查询到10的时候&#xff0c;插入就会报错。 所以比较…

3225mm晶振SG3225CAN专用于蓝牙模块应用

在无线通信技术迅猛发展的今天&#xff0c;蓝牙技术因其低功耗、高传输速率和广泛的应用范围&#xff0c;成为物联网和智能设备的重要组成部分。晶振在蓝牙模块中无处不在&#xff0c;大部分的智能手机&#xff0c;打开设置工具里面就会有一个是蓝牙功能&#xff0c;蓝牙技术引…

实验名称:字符串练习

欢迎收看你的月亮我的心&#xff01;大家好&#xff01;我是肖老师,我又回来了&#xff01; 一、实验目的&#xff1a; 统计不同字符&#xff08;字母、数字、空格、其他字符&#xff09;的个数编写程序&#xff0c;检查字符串”Life is short.I use python”中是否包含字符串…