python 画图_用python解九宫格以及画图
生活随笔
收集整理的這篇文章主要介紹了
python 画图_用python解九宫格以及画图
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
用python解九宮格的思路很簡單,一個是畫圖部分,用的是turtle庫。
演示圖像這個九宮格,首先就是畫單獨的方型,這個函數(shù)要自己寫:
import turtle as t t.speed(0) def zfx(a=200):for i in range(4):t.forward(a)t.left(90)然后再寫一個函數(shù),主要是為了給正方形做顏色填充和顯示文字
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'))然后就是畫九宮格的函數(shù),畫九個格子,接收一個參數(shù),一個字符串,把要顯示的數(shù)字傳進來。
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函數(shù),這個函數(shù)可以打亂元素。然后8個條件滿足了就畫圖,all函數(shù)是列表所有元素都是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()完整的代碼已經(jīng)統(tǒng)統(tǒng)都貼上來了,其實就只有turtle里點擊事件是新內(nèi)容,其他都是老內(nèi)容,都是在復習以前的知識,代碼寫的太亂,變量函數(shù)也隨意命名的,本來不好意思貼出來,為了幫助初學者就全都發(fā)出來了,降低大家學習python的難度,能快快看到學習的成果,這樣就有興趣能學下去。?
總結(jié)
以上是生活随笔為你收集整理的python 画图_用python解九宫格以及画图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python免安装版_web.py入门0
- 下一篇: 大学加权平均分计算器_英国排名前20的大