直接上代码

借鉴了https://www.cnblogs.com/greatfish/p/7580621.html的代码,做了些优化,并增加了几种括号的排列组合。

import numpy as np
from itertools import permutations# encoding=utf-8
a = int(input("请输入第1个数字:"))
b = int(input("请输入第2个数字:"))
c = int(input("请输入第3个数字:"))
d = int(input("请输入第4个数字:"))
list1 = [a, b, c, d]
p=[c for c in permutations(list1,4)]symbols = ["+", "-", "*", "/"]list2 =[] #算出24的排列组合的列表flag=Falsefor n in p:one,two,three,four=nfor s1 in symbols:for s2 in symbols:for s3 in symbols:if s1+s2+s3=="+++" or s1+s2+s3=="***":express = [ "{0} {1} {2} {3} {4} {5} {6}".format(one, s1, two, s2, three, s3, four)]  #全加或者乘时,括号已经没有意义。else:express = [ "(({0} {1} {2}) {3} {4}) {5} {6}".format(one, s1, two, s2, three, s3, four),"({0} {1} {2}) {3} ({4} {5} {6})".format(one, s1, two, s2, three, s3, four),"(({0} {1} ({2} {3} {4})) {5} {6})".format(one, s1, two, s2, three, s3, four),"{0} {1} (({2} {3} {4}) {5} {6})".format(one, s1, two, s2, three, s3, four),"{0} {1} ({2} {3} ({4} {5} {6}))".format(one, s1, two, s2, three, s3, four)]for e in express:try:if abs(eval(e)-24)<0.01:list2.append(e+" = 24")flag=Trueexcept ZeroDivisionError:passlist3=set(list2)  #去除重复项for c in list3:print(c)if flag==False:print("无法算出")

python 算24 代码相关推荐

  1. 用Python算24点

    小外甥女的课后作业是算24点,看了一下题目,发现都挺难的,像下面这些: 7 7 3 3 8 8 3 3 5 5 5 1 1 5 7 10 2 5 5 10 只能用加减乘除,算出24点. 发现心算不容易 ...

  2. python算24点穷举法_关于24点去重的算法?

    === 4月12日更新 === === 先给结论吧 === 花了近一周时间用JavaScript完成了24点去重算法,源码提交到了github上:auntyellow/24 ,可以在线试:gives ...

  3. python算24点穷举法_24点游戏7节课–第1节-游戏介绍与基本算法 | 学步园

    这仅仅是一个控制台(DOS窗口下)的小游戏--有人欢喜有人烦了.欢喜的是因为可以专心于游戏逻辑自身过程,就算你只学过C++简单的屏幕输入输出(cin.cout ),乃至换用java,C#也可以写这个小 ...

  4. python二十四点_Python秒算24点,行还是不行?

    周末闲来无事,看到隔壁家的老王在和隔壁家的媳妇玩24点,就进屋看了看.发现老王是真不行啊,那不行,这也不行. 就连个24点都玩不过他媳妇,给他媳妇气的,啥都不能满足,这不能,那也不能. 我坐下来和他媳 ...

  5. Python写个小游戏:速算24点(上)

    文章目录 前言 速算24点 1. 玩法简介 2. 游戏流程 3. 搭建游戏界面 1). 基本界面 2). 洗牌.发牌 洗牌 发牌 3). 计时器 4). 玩家输入公式(答案) StringVar类 按 ...

  6. Python写个小游戏:速算24点(下)

    文章目录 前言 速算24点 1. 玩法简介 2. 游戏流程 3. 剩下的部分 1). 关卡 / 分数信息 IntVar类 2). 提示按钮 图片 按钮 3). 重新发牌 4. 让电脑计算24点 1). ...

  7. 100个python算法超详细讲解:抢30游戏

    [100个python算法超详细讲解]@谷歌学术 1.问题描述 由两个人玩"抢30"游戏,游戏规则是:第一个人先说"1"或"1,2",第 二 ...

  8. c语言算24点答案,C语言-纸牌计算24点小游戏

    C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...

  9. python以什么表示代码层次_在Python中,采用代码缩进和( )区分代码之间的层次。_学小易找答案...

    [填空题]29 号元素 Cu 基态时的电子排布式为 ___ __ ,该元素在周期表中位于 __ _ 周期. __ __ 族. [单选题]"我要努力实现梦想,以弥补小时候吹过的牛"小 ...

  10. python 常忘代码查询 和autohotkey补括号脚本

    autohotkey更新2018-08-03,9点01 python ;把大写禁用了,因为确实基本不用.`表示删除,caplock+ijkl可以控制光标 SetCapsLockState , Alwa ...

最新文章

  1. 所有类是object的子类,但是又可以继承一个其他类解析
  2. 让程序员头疼的文档问题怎么破?试试活文档
  3. VMware Identity Manager 与CAS, Keycloak的集成
  4. python画球面_用Matplotlib绘制球面网格
  5. 爬虫解析利器PyQuery详解及使用实践
  6. c#oracle数组超出,c# – ODP.net填充数据集时的Oracle Decimal Number精度问题.异常:算术运算导致溢出...
  7. NOIP模拟测试7「方程的解·visit」
  8. Java CharArrayReader mark()方法与示例
  9. Library not found for -lPods-Unity-iPhone 的解决方法
  10. mysql效率索引_mysql下普通索引和唯一索引的效率对比
  11. MyCat 数据库分片极简体验
  12. Objective-C Fast Enumeration 的实现原理
  13. 20191223每日一句
  14. LNMP自动部署脚本
  15. 万网空间PHP 伪静态化,disuczx版块URL伪静态目录化设置方法
  16. FastReport.NET v2022.2.7
  17. EI/scopus推荐-智能交通与智慧城市会议
  18. 关于Sql Server2012(.net framework 3.5安装)安装问题
  19. Agilent E3649A via RS232 to PC 通信终于知道错哪了
  20. python xlrd 写入已有的excel并保留原excel格式

热门文章

  1. android点击按钮打开蓝牙,Android打开蓝牙的两种方式
  2. 计算机组成原理——中央处理器
  3. 充分使用腾讯云服务器搭建自己的网站
  4. 云服务器/树莓派搭建我的世界Minecraft多人游戏服务器
  5. 怎么学编程?学编程黄金4步,太多人卡在了第二步!
  6. Unity实现功能之局域网实时语音
  7. Opencv学习四图像操作(反差色处理)
  8. 2018医学考博英语阅读理解解题技巧
  9. unity 简易的小地图导航
  10. linux sftp 重命名,SFTP对文件重命名 删除 退出 查看