Python
文章平均质量分 51
zhouzhurong
西南大学计算机与信息科学学院硕士导师
展开
-
Python练手项目:计算机自动还原魔方视频
Python实现计算机自动还原魔方原创 2022-01-21 17:33:52 · 837 阅读 · 4 评论 -
Python练手项目:计算机自动还原魔方(5)最后一步
最后一步实际上有两个步骤,第一步是先还原顶部四个棱角,然后还原顶部四个棱块,然后魔方得以全部还原。万事开头难,越到后面越简单。这两个步骤分别用两个公式即可完成,而且状态也特别简单,算法如下:def 顶部4棱角到位(): c1=(cube_list[3][5][0] == cube_list[4][4][0]) and (cube_list[3][6][0] == cube_list[4][7][0]) c2 = (cube_list[3][3][0] == cube_list[..原创 2022-01-21 15:22:30 · 1242 阅读 · 0 评论 -
Python练手项目:计算机自动还原魔方(4)还原底部两层+顶面
上文还原了底部两层,接着还原顶面。假定在绿色为底的情况下,还原了两层,整体翻转为蓝色为底,现要还原顶部绿色面,如下图:原创 2022-01-18 20:29:40 · 1613 阅读 · 1 评论 -
Python练手项目:计算机自动还原魔方(3)还原两层
在还原魔方顶部蓝色面后,接着还原魔方两层。方法与前面一样,先简化问题,再采用《软件工程》的判定表处理各种组合情况。1 简化与术语以蓝色面为底,绿色为顶。只考虑当面的三条棱,其余棱可以整体旋转至当面。原创 2022-01-14 18:32:20 · 1285 阅读 · 1 评论 -
Python练手项目:计算机自动还原魔方(2)还原顶部
上文介绍了计算机自动还原顶部十字,情况比较复杂,一旦完成,后续的步骤就简单一些了。本文在上文的基础上,还原魔方顶部为蓝色面,在顶部蓝色十字的前提下,要求将顶部四个棱角还原为蓝色棱角,棱角的其余两面需要与所在面的中心色一致,如下图所示:原创 2022-01-13 10:56:14 · 565 阅读 · 0 评论 -
Python练手项目:计算机自动还原魔方(1)顶部十字
上文Python练手项目:玩转魔方提到计算机自动还原魔方,本文先介绍计算机自动还原魔方顶部十字,以此类推,可完全还原魔方。假设顶部中心块为蓝色,还原顶部十字,是将4个蓝色棱块还原到顶部,构成蓝色十字,并且蓝色棱块对面颜色与所在面的中心块色一致。如下图所示:原创 2022-01-10 14:39:37 · 1860 阅读 · 1 评论 -
Python练手项目:玩转魔方
最近读了魔方有什么难的,七步还原法 (toutiao.com),终于平生第一次把魔方还原了。以前拿起魔方瞎鼓捣,能还原一面都已经是侥幸。现在知道了,玩魔方是需要记公式的。问题在于,记公式对于我也很难。于是拿起Python,编写一个魔方仿真游戏,将公式记录在Python程序中,可以根据公式自动旋转魔方。原创 2022-01-06 18:00:18 · 4205 阅读 · 7 评论 -
Python练手项目:计算24点
小时候和小伙伴围着板凳玩24点,抢答拍桌把小手拍红。至今遗憾还有好多次算不出来,Python可以帮助我们弄清每一局比赛有解还是无解。原创 2021-12-31 23:25:51 · 1623 阅读 · 0 评论 -
Python练手项目:求解史上最难数独问题
江苏老人花了3天破解了史上最难数独,我们用Python试试需要多少时间?该课题适合大二学生在学完《数据结构》课程后练习。原创 2021-12-27 16:34:11 · 644 阅读 · 0 评论 -
Python练手项目:用中国地图验证四色地理
该项目适合大二学生,学习完《数据结构》后练习。其基本方法是:先将中国的各个省份根据相邻关系,转化为无向图,再在该无向图上进行深度优先遍历,在遍历过程中,进行着色,着色时判断当前节点(省份)选用的颜色是否与相邻省份颜色相同,如果4种颜色都不行,则回溯。循环以上过程,直至问题得解。原创 2021-12-25 17:33:52 · 3457 阅读 · 0 评论 -
Python练手项目--万花筒
采用Python Turtle绘制,在其中一个格子随机绘制出一个随机大小随机彩色的图形,然后依次在相邻格子中绘制出对称图形,通过一定次数的叠加,形成万花筒图形。该题目可以作为学习Python的练手项目原创 2021-12-24 11:14:17 · 940 阅读 · 0 评论 -
Python三国华容道程序-广度优先
上文完成了Python用深度优先算法求解三国华容道,本文在上文的基础上,将算法改为广度优先的算法,深度优先算法可以获得较快的求解速度,但棋子移动步骤较长。广度优先算法可以获得较短的移动步骤,但求解速度较慢。原创 2021-12-16 17:39:45 · 1557 阅读 · 3 评论 -
Python三国华容道程序-深度优先
华容道游戏实质上是一个树的搜索问题,对学习理解《数据结构》有很大帮助,本文用Python实现三国华容道程序,介绍其数据结构设计、算法设计,分别用实现深度和广度优先搜索进行华容道问题的求解。原创 2021-12-10 18:40:02 · 3909 阅读 · 0 评论 -
Python解决操作系统习题中PV操作过桥问题
上图是一道操作系统PV操作的习题,用Python解决之,建立一个线程模拟行人从北向南过桥,另一个线程模拟行人从南向北过桥,建立四个信号量,分别实现对桥、北桥段、南桥段和桥中央的互斥。north_side = threading.Semaphore(1) #北桥段只能通过一人north= threading.Semaphore(1) #北向南一次只允许一人过桥south_side = threading.Semaphore(1)#南桥段只能通过一人south= threading.Se...原创 2021-08-30 19:13:31 · 1407 阅读 · 0 评论 -
利用Python理解TTF矢量字体显示原理
本文从微软雅黑字体MSYH.TTF中抽取出2次B样条曲线和直线的控制节点坐标数据,利用Python将汉字轮廓绘制出来。MSYH字体轮廓是由2次B样条曲线和直线构成的,下图(fontforge软件获取)可见25-26-27三个控制点是一条曲线,27-28是一条曲线,从图中可以数出13条曲线,15条直线。Python绘制B样条曲线(De Boor Cox)提供了用Python绘制B样条曲线的程序,本文在其基础上改进,利用读取TTF文件格式的轮廓信息一文中的C#程序获取汉字的控制节点坐标,绘制出汉字轮原创 2021-05-07 11:13:35 · 2409 阅读 · 1 评论 -
极简的基于Python的贝塞尔曲线的递归程序
基于Python的贝塞尔曲线的递归程序学习贝塞尔曲线,比较好的方法是编写一个程序,通过分析程序的运行过程,理解贝塞尔曲线的原理。计算机专业的学生从递归的角度理解贝塞尔曲线是一条捷径。可参考https://www.zhihu.com/question/29565629一文,理解贝塞尔曲线的递归性。https://zhuanlan.zhihu.com/p/203408475一文给出了贝塞尔曲线的推导和Python实现,但没有完全遵照贝塞尔曲线的递归特性,本文在上文的基础上,编写了一个极简的基于Python的原创 2021-04-26 17:13:45 · 441 阅读 · 1 评论 -
利用Python生成钢琴音色
在csdn上看到一篇博客“根据乐谱合成钢琴音乐(https://blog.csdn.net/u011478373/article/details/60470332)”,写得不错,非常感兴趣,就把博客中的Python代码拷贝下来运行了一下,结果不行,原因是缺乏了一下关键参数定义,如:1)wave_data2)ampli3)windowsize分析了一下,将这几个参数补充齐了,删除...转载 2019-06-12 19:37:20 · 9533 阅读 · 3 评论