用python解九宫格的思路很简单,一个是画图部分,用的是turtle库。

演示图

像这个九宫格,首先就是画单独的方型,这个函数要自己写:

import turtle as t
t.speed(0)
def zfx(a=200):for i in range(4):t.forward(a)t.left(90)

然后再写一个函数,主要是为了给正方形做颜色填充和显示文字

def zfx2(a=100,x=0,y=0,c='gray',s=''):t.up()t.goto(x,y)t.down()t.fillcolor(c)t.begin_fill()zfx(a)t.end_fill()t.forward(a/2)t.write(str(s),align='center',font=('宋体',50,'bold'))

然后就是画九宫格的函数,画九个格子,接收一个参数,一个字符串,把要显示的数字传进来。

def jgg(s='012345678'):zfx2(x=-150,y=50,c='gray',s=s[0])zfx2(x=-50,y=50,c='white',s=s[1])zfx2(x=50,y=50,c='gray',s=s[2])zfx2(x=-150,y=-50,c='white',s=s[3])zfx2(x=-50,y=-50,c='gray',s=s[4])zfx2(x=50,y=-50,c='white',s=s[5])zfx2(x=-150,y=-150,c='gray',s=s[6])zfx2(x=-50,y=-150,c='white',s=s[7])zfx2(x=50,y=-150,c='gray',s=s[8])

一开始显示问号

jgg('?'*9)

以上是画图的部分,后面代码就是暴力算法,用到random的库shuffle函数,这个函数可以打乱元素。然后8个条件满足了就画图,all函数是列表所有元素都是True那么就返回True,这个用来这里代码写起来就比较简洁了,不要写一堆逻辑运算或者条件运算了。

import random
n=[1,2,3,4,5,6,7,8,9]
w=t.Screen()
def run(x,y):while(1):random.shuffle(n)real=[(n[0]+n[1]+n[2])==15,(n[3]+n[4]+n[5])==15,(n[6]+n[7]+n[8])==15,(n[0]+n[3]+n[6])==15,(n[1]+n[4]+n[7])==15,(n[2]+n[5]+n[8])==15,(n[0]+n[4]+n[8])==15,(n[2]+n[4]+n[6])==15]if all(real):jgg(n)break
w.onclick(run)
t.mainloop()

完整的代码已经统统都贴上来了,其实就只有turtle里点击事件是新内容,其他都是老内容,都是在复习以前的知识,代码写的太乱,变量函数也随意命名的,本来不好意思贴出来,为了帮助初学者就全都发出来了,降低大家学习python的难度,能快快看到学习的成果,这样就有兴趣能学下去。​

python 画图_用python解九宫格以及画图相关推荐

  1. 第一章 第一节:Python基础_认识Python

    Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...

  2. python字符串_(Python基础教程之七)Python字符串操作

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  3. 类的继承python事例_【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸...

    作者:白宁超 2016年10月10日22:36:57 摘要:继一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简 ...

  4. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  5. python 标准差_标准差python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 方差是每个值与均值的差值的平方的平均值,标准差是方差的平方根(这是有用的,因为取 ...

  6. excel python插件_利用 Python 插件 xlwings 读写 Excel

    Python 通过 xlwings 读取 Excel 数据 去年底公司让我做设备管理,多次委婉拒绝,最终还是做了.其实我比较喜欢技术.做管理后发现现场没有停机率统计,而原始数据有,每次要自己在Exce ...

  7. 网络安全用python吗_使用Python进行网络安全渗透——密码攻击测试器

    相关文章: 本篇将会涉及: HTTP 基本认证 对HTTP Basic认证进行密码暴力攻击测试 什么是HTTP 基本认证 HTTP基本认证(HTTP Basic Authentication)是HTT ...

  8. 动态照片墙 python 实现_利用python生成照片墙的示例代码

    这篇文章主要介绍了利用python生成照片墙的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 PIL(Python Im ...

  9. python范例_最佳Python代码范例

    python范例 Python is a general purpose programming language which is dynamically typed, interpreted, a ...

最新文章

  1. pageX,clientX,offsetX,layerX的区别
  2. sequel mysql8.0_sequel pro 无法链接mysql8.0以上高版本
  3. boost::mpl::filter_view模块实现日历相关的测试程序
  4. Github基本操作的学习与温习
  5. 马哥linux 教程---vim编辑器进阶课后题
  6. PL/SQL“ ORA-14551: 无法在查询中执行 DML 操作”解决
  7. 开课吧Java面试题:虚引用与软引用和弱引用的区别
  8. SpringCloud集成分布式事务LCN (一)
  9. 100 个 Python 小例子(练习题)
  10. ASLD 高级固体激光器设计及仿真软件
  11. VMWare安装Deepin系统
  12. TOEFL wordlist 24
  13. When you are old - 当你老去时(译)
  14. 一次聚类引发的一系列问题(多线程篇-多线程慢于单线程)
  15. NASA全球生态系统动态调查激光雷达(GEDI)
  16. NOSQL,MongoDB分布式集群架构
  17. R语言:结构方程模型、潜变量分析
  18. 高等数学(第七版)同济大学 习题9-5 个人解答
  19. 驭势科技吴甘沙:无人驾驶业务已有造血能力 将试点机场物流商业化
  20. 获取类权限定名_自定义认证类、权限类

热门文章

  1. 林华达视角-概率图模型与计算机视觉
  2. 串口通信模块1:串口基础知识
  3. 使WEBBROWSER 可编辑
  4. 使用go语言GUI库实现对mp3文件的播放1(简单的播放mp3文件)
  5. starUML--面向对象的设计过程
  6. Uboot启动过程详解
  7. 最小表示法 最大表示法
  8. SECRET SHARING STEP BY STEP
  9. 知识图谱实践篇(五):KBQA Demo
  10. 分享一个slide:花式自然语言处理