163点游戏python算法
163点的规则如下:从一副去掉大王小王的扑克牌中抽出六张,A,J,Q,K视为1,11,12,13,用这6张牌经过有理数的加减乘除运算(过程中可以出现分数)且每张牌都用到的情况下,要求满足结果等于163。无需输入,输出一个数字表示方案数。
import random
import itertools
# 一副牌 不带大小王
list1 = [i for i in range(1, 14)] * 4
# 随机抽六张牌放list2里边 可重复抽取
list2 = random.sample(list1, 6)
# 将这六张排列,并去掉重复的组合
list3 = list(set(list(itertools.permutations(list2, 6))))
# 六个数要运算五次
list4 = ['+', '-', '*', '/'] * 5
# 抽取5个运算符号排列组合,并去重
list5 = list(set(list(itertools.permutations(list4, 5))))n = 0
# 遍历6张牌所有可能的顺序
for i in list3:# 第一张牌的值为aa = i[0]# 遍历五个运算符所有可能的情况(共4的五次方=1024种可能)for j in list5:# 每种可能需要五次计算for k in range(5):if j[k] == '+':a += i[k + 1]elif j[k] == '-':a -= i[k + 1]elif j[k] == '*':a *= i[k + 1]elif j[k] == '/':a /= i[k + 1]if a == 163:n += 1# 循环变量初始化a = i[0]# 输出六张牌
print(list2)
# 输出对应的总方案数
print(n)
还有一个细节问题,就是关于运算过程中可能出现的分数,
经测试,如果产生形如7/3的无限位数的小数,在python中的乘除运算也是可逆的。即7/3之后再乘以3计算,得到的不会是一个同样那么长的小数。这就避免了可能造成的结果方案遗漏。
print(7/3)
x = 7/3
print(x*3)
163点游戏python算法相关推荐
- python画图、python小游戏、python刷题、python算法、python编程与数学
python画图系列整理 python画图系列整理-CSDN博客 python游戏入门书籍推荐 python游戏入门书籍推荐_pygame书籍推荐_dllglvzhenfeng的博客-CSDN博客 p ...
- python矩形碰撞检测算法_简易夺旗游戏(python像素级碰撞检测之颜色碰撞)
以下是部分代码预览: """ 简易夺旗游戏(python像素级碰撞检测之颜色碰撞) 按上下左右方向箭头操作小虫子去碰到小旗子,游戏就胜利了, 否则如果碰到黑色,游戏就失败 ...
- Python算法之旅字符串游戏之无效的身份证
出场人物介绍 小美:小学4年级学生,参加了学校的编程兴趣小组,已经了解了Python语言的基本语法,能够看懂一些简单的程序.她做事风风火火,对所有的事情都很好奇,喜欢打破砂锅问到底,是一个叫人又爱又恨 ...
- 弹球游戏python代码含记分模式_python编写弹球游戏的实现代码
用Blender制作一个兵乓球小游戏,要编写Python代码需要安装pygame 包没有面对困难的勇气,也就没有享受快乐的权利. python 怎么写双人弹球游戏最难过的事不是别人又得罪你了,而是你自 ...
- python算法面试_求职面试的Python算法
python算法面试 During software job interviews, candidates often have to solve algorithm challenges. In t ...
- 二十四点游戏python_[求助]关于二十四点游戏python
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 24点纸牌游戏的开发 24点是一种老少咸宜的游戏,它的具体玩法如下: 给玩家4张牌,每张牌的面值在1-13之间,允许其中有数值相同的牌.采用加.减.乘.除 ...
- python算法详解 张玲玲_Python算法详解
目 录 第 1章 算法概述 1 1.1 算法的基础 2 1.1.1 算法的特征 2 1.1.2 何为算法 2 1.2 计算机中的算法 3 1.2.1 认识计算机中的算法 3 1.2.2 为什么说算法是 ...
- python算法设计 - 汉诺塔
python算法设计源码:https://github.com/MakerChen66/Python3Algorithm 版权声明:原创不易,本文禁止抄袭.转载,侵权必究! 目录 一.汉诺塔 二.源码 ...
- python算法完整教程专栏完整目录
python算法完整教程专栏完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:python算法完整教程 数量:692篇博文(2023年2月15日截止) 更新时间至:2023年2月15日(后续加上去 ...
最新文章
- python——赋值与深浅拷贝
- 扇贝python课程打卡_Python爬虫:获取扇贝打卡信息
- lt;二gt;读lt;lt;大话设计模式gt;gt;之策略模式
- toj 2870 理解dijstra
- 针对双系统ubuntu16.04卡死及系统没有声音解决方法
- CMake PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR区别
- Java小白进阶笔记(2)-变量和数据类型
- 20172316 结对编程-四则运算 第一周 阶段总结
- Sharding-JDBC数据库_垂直切分_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记012
- Claris FileMaker Pro更新至19.2.1.14中文版
- 【整理分享1】PHP中exit()与die()的区别
- 人脸识别 特征值脸_你的脸值多少钱?
- 1月16日新经济智库大会聚焦数字经济,议程、直播全收藏
- MySQL完全自学手册
- PHP5中PDO的简单使用
- Java奇数与偶数的判断
- bzoj 2075: [POI2004]KAG
- 页面渲染原理,从输入url到页面展示流程
- 1343476-41-4,Acid-PEG5-NHS ester亲水性PEG间隔物增加了在水介质中的溶解度
- 干货 | 科研必备的软件神器