位置: 编程技术 - 正文

用Python解决计数原理问题的方法(python中计数函数怎么用)

编辑:rootadmin

推荐整理分享用Python解决计数原理问题的方法(python中计数函数怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python计数器,python记数,python计数器变量,python计数器,python计数器变量,python记数,python loandata 计数,python计数器,内容如对您有帮助,希望把文章链接给更多的朋友!

前几天遇到这样一道数学题:

用四种不同颜色给三棱柱六个顶点涂色,要求每个点涂一种颜色,且每条棱的两个端点涂不同颜色,则不同的涂色方法有多少种?

当我看完题目后,顿时不知所措。于是我拿起草稿纸在一旁漫无目的地演算了一下,企图能找到解决方法。结果一无所获。于是打算通过程序算法解决这个问题。经过2个多小时的研究,终于完成了代码,并求得了答案。

由于Python写起来比较方便而且本人比较喜欢Python的语法,所以研究算法时我通常采用Python,此次也不例外。以下就是整个算法的实现过程。

两种算法

我一共想出了两种用于解决本题的算法:

算法一:将所有的涂色情况通过程序的循环计算出来,然后通过程序的条件判断去除掉不合题意的所有情况,最后得到最终结果。

算法二:从其中任意一个端点(p0)入手,由于其它所有端点都没有涂色,所以它可以涂四种颜色。将这四种颜色通过循环分别涂在这个端点上,每涂上一种颜色后,获取与它相临的一个端点(p1),并获取它可以涂上的颜色,然后通过循环将可用颜色涂上(及不能涂上与p0相同的颜色),每涂上一种颜色,又将p1相邻的未涂色的点涂色(及除p0外其他的相邻端点)。每个点被涂色后都采用同样的方法将相邻的点涂色,以此类推,涂完最后一个点,就记一次情况。所有的递归都完成后,就获得了所有情况。

算法一很直接很粗暴,所以我采用了算法二来解决上述问题。接下来就是具体的代码了。

算法实现

我写了大约行Python代码来实现这个算法:

以下是对各段代码的介绍。

用Python解决计数原理问题的方法(python中计数函数怎么用)

全局变量

colorList:颜色列表

pointList:存放六个点的列表

amount : 涂色方案的种数

Point类

用于储存各个点的信息,如点的颜色(color属性,None代表无颜色)、相邻的点('neibors'属性)。以及提供paint方法用于将点标记颜色;clean方法用于去除颜色;getLeftOverColors方法用于获取可用颜色,及获取相邻点没有使用的颜色。

main函数

程序开始运行时调用的函数,其中构造了所需的六个点,以及分别为这六个点明确了相邻的三个点。注意,由于这里的点只有相邻和不相邻的位置关系,所以不需要在意这些点到底在三棱柱里对应哪个位置,任意设定这些点的位置对结果来说并没有影响,只需注意它们之间的相邻关系即可。

isLastOne函数

判断是不是最后一个未涂色的点。

paintPoint函数

用于对作为参数传入的点进行着色。其中首先通过调用该点的getLeftOverColors方法获取可用颜色,然后按照上文算法中介绍的,通过遍历可用颜色列表,为该点着色,如果该点不是最后一个点(通过isLastOne函数判断),就递归调用paintPoint函数为相邻的一个未着色的点着色,如果是,则将记下一次涂色方案。

运行代码,得到结果 - :

Ok,于是这道题就在我们的计算机的帮助下,被成功解决掉了~如果大家有更好的方案解决这一算法问题,欢迎留言进行交流~希望本文对大家学习Python和计数原理都能有所帮助。

Python处理JSON数据并生成条形图 一、JSON数据准备首先准备一份JSON数据,这份数据共有条内容,每条内容结构如下:本示例主要是以tz(timezone时区)这一字段的值,分析这份数据里

利用Python实现命令行版的火车票查看器 接口设计一个应用写出来最终是要给人使用的,哪怕只是给你自己使用。所以,首先应该想想你希望怎么使用它?让我们先给这个小应用起个名字吧,

基于Python实现对PDF文件的OCR识别 最近在做一个项目的时候,需要将PDF文件作为输入,从中输出文本,然后将文本存入数据库中。为此,我找寻了很久的解决方案,最终才确定使用tesserac

标签: python中计数函数怎么用

本文链接地址:https://www.jiuchutong.com/biancheng/386250.html 转载请保留说明!

上一篇:快速入手Python字符编码(python字号)

下一篇:Python处理JSON数据并生成条形图(python怎么处理json数据)

  • 印花税什么时候开始计入税金及附加
  • 记账凭证核算形式是会计核算中最基本的核算形式
  • 小规模纳税人批发机动车
  • 建筑施工企业增值税税率是多少
  • 房屋租赁房产税税率是怎样计算的
  • 实验用品包括实验仪器吗
  • 2个公司的法人是谁
  • 小规模企业多交增值税
  • 所得税的利润总额怎么计算
  • 居民个人根据各项所得的收入 公益捐赠
  • 销售商品的会计分录现金折扣
  • 公司给非员工代缴社保合法吗
  • 哪些罚款不能进行所得税税前扣除?
  • 新版增值税开票软件怎么下载
  • 停车场吗
  • 旧发票专用章如何处理
  • 集团控股公司
  • 4月份到期包括4月吗
  • 收到应收票据应该确认收入吗
  • 向客户发放,赠品怎么写
  • 企业出差补助需要缴纳个人所得税吗?
  • windows11进入桌面黑屏
  • 建筑单位领用材料分录
  • 计提代扣代缴个税
  • win11正式版发布
  • 文档自动填写怎么弄
  • 高速过路费抵扣进项怎么填报
  • 固定资产加速折旧计算方法
  • kafka图形化界面
  • 社保代扣代缴会计分录怎么做
  • js正则表达式删除特定字符
  • 固定资产清理如何计算增值税
  • 一般纳税人取得普票会计分录
  • 构造二叉排序树代码
  • 车辆保养费可以计入交通费吗
  • 解决城市内涝的题目
  • vue3与vue2的区别
  • 微信小程序开发公司
  • mkdir命令怎么用
  • php二分查找算法两种方法
  • 纳税人有什么义务
  • 勘察设计费是否含税
  • 资产支出加权平均数和一般借款本金加权平均数
  • 处置子公司账务处理
  • 不动产固定资产的进项税抵扣新规定
  • 企业注销时还有进项税
  • 以前年度亏损要调整吗
  • 发票遗失要如何补办
  • 一般纳税人在任何情形下都可以领购使用增值税专用发票
  • 公司注销前怎么平账需要提前多久
  • 酒店客房收入如何分配
  • 售出货物
  • 行政单位与事业单位净资产的比较
  • 企业与股东之间的关系,也是企业与投资者之间的关系
  • 固定资产的折旧方法有哪些
  • 当月作废的专票还是要交增值税吗
  • 残次品销售计入什么科目
  • 赠送油卡需要代理吗
  • 注册资本和实收股本的区别
  • windows vista server
  • 在linux操作系统中,/etc/rc.d/init.d
  • VMware虚拟机安装苹果Mac OS
  • macos finder的应用程序列表在哪里
  • win8系统怎么设置自动关机
  • win10系统右键菜单管理
  • win7系统出现蓝屏怎么解决
  • win10预览模式
  • perl正则表达
  • bootstrap 图表插件
  • jquery的实现原理
  • scrollview不滚动
  • 用jQuery的AJax实现异步访问、异步加载
  • java jsonstring
  • static function FindObjectsOfType (type : Type) : Object[]
  • 让你略表情包
  • js对象用法
  • jquery设置单选框
  • 电子税务局怎么添加银行账户信息
  • 车船税代收有发票吗
  • 2021年河南医保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设