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算法相关推荐

  1. python画图、python小游戏、python刷题、python算法、python编程与数学

    python画图系列整理 python画图系列整理-CSDN博客 python游戏入门书籍推荐 python游戏入门书籍推荐_pygame书籍推荐_dllglvzhenfeng的博客-CSDN博客 p ...

  2. python矩形碰撞检测算法_简易夺旗游戏(python像素级碰撞检测之颜色碰撞)

    以下是部分代码预览: """ 简易夺旗游戏(python像素级碰撞检测之颜色碰撞) 按上下左右方向箭头操作小虫子去碰到小旗子,游戏就胜利了, 否则如果碰到黑色,游戏就失败 ...

  3. Python算法之旅字符串游戏之无效的身份证

    出场人物介绍 小美:小学4年级学生,参加了学校的编程兴趣小组,已经了解了Python语言的基本语法,能够看懂一些简单的程序.她做事风风火火,对所有的事情都很好奇,喜欢打破砂锅问到底,是一个叫人又爱又恨 ...

  4. 弹球游戏python代码含记分模式_python编写弹球游戏的实现代码

    用Blender制作一个兵乓球小游戏,要编写Python代码需要安装pygame 包没有面对困难的勇气,也就没有享受快乐的权利. python 怎么写双人弹球游戏最难过的事不是别人又得罪你了,而是你自 ...

  5. python算法面试_求职面试的Python算法

    python算法面试 During software job interviews, candidates often have to solve algorithm challenges. In t ...

  6. 二十四点游戏python_[求助]关于二十四点游戏python

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 24点纸牌游戏的开发 24点是一种老少咸宜的游戏,它的具体玩法如下: 给玩家4张牌,每张牌的面值在1-13之间,允许其中有数值相同的牌.采用加.减.乘.除 ...

  7. 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 为什么说算法是 ...

  8. python算法设计 - 汉诺塔

    python算法设计源码:https://github.com/MakerChen66/Python3Algorithm 版权声明:原创不易,本文禁止抄袭.转载,侵权必究! 目录 一.汉诺塔 二.源码 ...

  9. python算法完整教程专栏完整目录

    python算法完整教程专栏完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:python算法完整教程 数量:692篇博文(2023年2月15日截止) 更新时间至:2023年2月15日(后续加上去 ...

最新文章

  1. python——赋值与深浅拷贝
  2. 扇贝python课程打卡_Python爬虫:获取扇贝打卡信息
  3. lt;二gt;读lt;lt;大话设计模式gt;gt;之策略模式
  4. toj 2870 理解dijstra
  5. 针对双系统ubuntu16.04卡死及系统没有声音解决方法
  6. CMake PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR区别
  7. Java小白进阶笔记(2)-变量和数据类型
  8. 20172316 结对编程-四则运算 第一周 阶段总结
  9. Sharding-JDBC数据库_垂直切分_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记012
  10. Claris FileMaker Pro更新至19.2.1.14中文版
  11. 【整理分享1】PHP中exit()与die()的区别
  12. 人脸识别 特征值脸_你的脸值多少钱?
  13. 1月16日新经济智库大会聚焦数字经济,议程、直播全收藏
  14. MySQL完全自学手册
  15. PHP5中PDO的简单使用
  16. Java奇数与偶数的判断
  17. bzoj 2075: [POI2004]KAG
  18. 页面渲染原理,从输入url到页面展示流程
  19. 1343476-41-4,Acid-PEG5-NHS ester亲水性PEG间隔物增加了在水介质中的溶解度
  20. 干货 | 科研必备的软件神器

热门文章

  1. 一年中的第几天 哔哩哔哩2020校园招聘笔试题讲解
  2. 集成钉钉机器人消息通知
  3. 公网域名如何解析到内网IP服务器——快解析域名映射外网访问
  4. 利用Xshell映射云端服务器的visdom,进行训练过程可视化
  5. chrome不显示数学公式
  6. 加拿大移民政策利好,哪些人适合移民加拿大
  7. 最长递增子序列O(NlogN)算法
  8. 华为服务器2288h v5安装系统,华为2288装系统
  9. 微软的nfs server服务器,Win10系统设置NFS服务器的方法
  10. 联想新服务器怎么装系统教程,联想小新重装win7系统的详细教程图解