python的應(yīng)用還是比較的廣泛的,甚至可以去繪畫(huà),但是,要是想去繪畫(huà)的話,還是需要一定的時(shí)間,然后去進(jìn)行訓(xùn)練繪畫(huà)的。下面就以一個(gè)案例的形式,來(lái)教給大家,怎么用Python去畫(huà)圖,大家要仔細(xì)的進(jìn)行閱讀哦。
1.多邊形的繪制案例
#多邊形的繪制案例
import turtle
def main():
turtle.color("green")
#steps代表多邊形的繪制
turtle.circle(50,steps=6)
turtle.exitonclick()
if __name__=="__main__":
main()
2.太陽(yáng)花案例
#太陽(yáng)花案例*******************************************************************
import turtle
import time
turtle.color("red","yellow")
turtle.begin_fill()
for _ in range(50):
turtle.speed(0)
turtle.forward(200)
turtle.left(170)
turtle.end_fill()
turtle.mainloop()
3.顏色五角星案例
#顏色五角星案例******************************************************************
import turtle
import time
turtle.pensize(5)
turtle.pencolor("yellow")
turtle.fillcolor("red")
turtle.begin_fill()
for _ in range(5):
turtle.forward(200)
turtle.right(144)
turtle.end_fill()
time.sleep(2)
turtle.penup()
turtle.goto(-150,-120)
turtle.color("violet")
turtle.write("Done",font=("Arial"))
turtle.mainloop()
4.藝術(shù)圖片
#藝術(shù)圖片*************************************************************************
import turtle
turtle.speed(0)
turtle.delay(0)
turtle.pensize(2)
turtle.bgcolor("black")
colors=["red","blue","yellow","purple"]
for x in range(300):
turtle.color(colors[x%4])
turtle.forward(2*x)
turtle.left(91)
turtle.done()
5.黑六邊形
##黑六邊形*****************************************************************************
import turtle
def bye(x,y):
turtle.bye()
s=turtle.Screen()
s.bgcolor("black")
s.screensize(800,800)
s.title("Class Using")
s.onscreenclick(bye)
p=turtle.Turtle()
p.speed(0)
p.hideturtle()
p.pencolor("red")
p.pensize(3)
p.circle(50,360,6)
turtle.done()
6.繪制時(shí)鐘
#繪制時(shí)鐘************************************************************************************************
import turtle as tt
from datetime import*
#當(dāng)前日期屬于一周的第幾天
def Week(t):
week=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
return week[t.weekday()]
#獲取當(dāng)前時(shí)間
def Date(t):
y=t.year
m=t.month
d=t.day
cur_hour=t.hour;
cur_min=t.minute;
cur_sec=t.second;
return"%s-%d-%d%d:%02d:%02d"%(y,m,d,cur_hour,cur_min,cur_sec)
#移動(dòng)畫(huà)筆,距離為distance
def movePen(distance):
tt.penup()
tt.pensize(5)
tt.pencolor("blue")
tt.fd(distance)
tt.pendown()
#繪制表針
def makeHands(name,length):
#清空窗口,重置turtule狀態(tài)為初始狀態(tài)
tt.reset()
movePen(-length*0.1)
#開(kāi)始記錄多邊形的頂點(diǎn)
tt.begin_poly()
tt.fd(length*1.1)
#停止記錄多邊形的頂點(diǎn)
tt.end_poly()
#返回記錄的多邊形
handForm=tt.get_poly()
tt.register_shape(name,handForm)
#初始化
def initial():
global secHand,minHand,hurHand,printer
#重置方向向北(上),正角度為順時(shí)針
tt.mode("logo")
#建立并初始化表針
makeHands("secHand",180)
makeHands("minHand",150)
makeHands("hurHand",110)
secHand=tt.Turtle()
secHand.shape("secHand")
minHand=tt.Turtle()
minHand.shape("minHand")
hurHand=tt.Turtle()
hurHand.shape("hurHand")
for hand in secHand,minHand,hurHand:
hand.shapesize(1,1,4)
hand.speed(0)
#輸出文字
printer=tt.Turtle()
#隱藏畫(huà)筆
printer.hideturtle()
printer.penup()
#繪制表盤(pán)外框
def drawClock(R):
#清空窗口,重置turtule狀態(tài)為初始狀態(tài)
tt.reset()
#畫(huà)筆尺寸
tt.pensize(5)
for i in range(60):
movePen(R)
if i%5==0:
tt.fd(20)
movePen(-R-20)
movePen(R+20)
if i==0:
#寫(xiě)文本
tt.write(int(12),align="center",font=("Consolas",14,"bold"))
elif i==30:
movePen(25)
tt.write(int(i/5),align="center",font=("Consolas",14,"bold"))
movePen(-25)
elif(i==25 or i==35):
movePen(20)
tt.write(int(i/5),align="center",font=("Consolas",14,"bold"))
movePen(-20)
else:
tt.write(int(i/5),align="center",font=("Consolas",14,"bold"))
movePen(-R-20)
else:
#繪制指定半徑和顏色的點(diǎn)
tt.dot(5,"red")
movePen(-R)
tt.right(6)
#表針的動(dòng)態(tài)顯示
def handsMove():
t=datetime.today()
second=t.second+t.microsecond*0.000001
minute=t.minute+second/60.0
hour=t.hour+minute/60.0
secHand.seth(6*second)
minHand.seth(6*minute)
hurHand.seth(30*hour)
tt.tracer(False)
printer.fd(65)
tt.pencolor("green")
printer.write(Week(t),align="center",font=("黑體",14))
printer.back(130)
printer.write(Date(t),align="center",font=("Consolas",14))
#設(shè)置當(dāng)前畫(huà)筆位置為原點(diǎn),方向朝東
printer.home()
tt.tracer(True)
#經(jīng)過(guò)100ms后繼續(xù)調(diào)用handsMove函數(shù)
tt.ontimer(handsMove,100)
#調(diào)用定義的函數(shù),打開(kāi)和關(guān)閉動(dòng)畫(huà),為更新圖紙?jiān)O(shè)置延遲;
tt.tracer(False)
initial()
drawClock(200)
tt.tracer(True)
handsMove()
tt.mainloop()
7.繪制分形樹(shù)
#繪制分形樹(shù)******************************************************************************
import turtle
def draw_branch(branch_length):
'''
繪制分形樹(shù)
'''
if branch_length>5:
#繪制右側(cè)樹(shù)枝
turtle.forward(branch_length)
print("向前:",branch_length)
turtle.right(20)
print("右轉(zhuǎn):20度")
draw_branch(branch_length-15)
#繪制左側(cè)樹(shù)枝
turtle.left(40)
print("左轉(zhuǎn):40度")
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128300.html
摘要:所以就想把一大串縮短點(diǎn),將二進(jìn)制中的三位用一位表示。以可以大寫(xiě)也可以小寫(xiě)開(kāi)頭版本可以表示二進(jìn)制了八進(jìn)制的數(shù)據(jù)表現(xiàn)形式由組成。結(jié)果把系數(shù)基數(shù)的權(quán)次冪相加即可。因?yàn)檎Z(yǔ)言采用的是碼來(lái)編碼的。 1_(常量的概述和使用)* A:什么是常量(constant) 在程序執(zhí)行的過(guò)程中其值不可以發(fā)生改變 B:Java中常量的分類 字面值常量 自定義常量(面向?qū)ο蟛糠种v) C:字面值常量的...
小編寫(xiě)這篇文章的一個(gè)最為主要的目的,就是去給大家去做一個(gè)解釋,解釋關(guān)于在python中的一些問(wèn)題,甚至是出現(xiàn)的各種相關(guān)的疑難雜癥問(wèn)題,比如出現(xiàn)了中文負(fù)數(shù)的問(wèn)題,下面小編就給大家詳細(xì)的去做一個(gè)解答。 解決Python中matplotlib庫(kù)畫(huà)圖中文和負(fù)號(hào)顯示為方框的問(wèn)題 注意: 語(yǔ)言版本:Python 3.10.4 編譯器版本:PyCharm 2021.3.2 操作系統(tǒng):Win11 ...
摘要:并把最終的隨機(jī)數(shù)輸出到控制臺(tái)。方法,在集合中如何存儲(chǔ)元素取決于方法的返回值返回,集合中只有一個(gè)元素。創(chuàng)建集合對(duì)象,傳入比較器。 1_HashSet存儲(chǔ)字符串并遍歷 A:Set集合概述及特點(diǎn) 通過(guò)API查看即可 B:案例演示 HashSet存儲(chǔ)字符串并遍歷 import java.util.HashSet; public class Demo1_HashSet { p...
摘要:下載指定網(wǎng)站上的妹子圖片,這里只抓了前頁(yè)的圖片,可根據(jù)需要自己設(shè)置頁(yè)數(shù)值為圖片類型,大家可以自行更改值體驗(yàn)一下,有問(wèn)題留言給我,看到就會(huì)解答大胸妹美腿控有顏值大雜燴小翹臀鏈接已處理完畢圖片下載完成 下載指定網(wǎng)站上的妹子圖片,這里只抓了前100頁(yè)的圖片,可根據(jù)需要自己設(shè)置頁(yè)數(shù)cat值為圖片類型,大家可以自行更改cat值體驗(yàn)一下,有問(wèn)題留言給我,看到就會(huì)解答2 = 大胸妹3 = 美腿控4 ...
摘要:空指針異常原因數(shù)組已經(jīng)不在指向堆內(nèi)存了。當(dāng)訪問(wèn)數(shù)組不存在的索引時(shí),就會(huì)出現(xiàn)數(shù)組索引越界異常數(shù)組的操作遍歷掌握案例演示數(shù)組遍歷就是依次輸出數(shù)組中的每一個(gè)元素。內(nèi)循環(huán)控制的是一維數(shù)組的長(zhǎng)度。 1.數(shù)組概述和定義格式說(shuō)明 A:為什么要有數(shù)組(容器): 為了存儲(chǔ)同種數(shù)據(jù)類型的多個(gè)值 B:數(shù)組概念: 數(shù)組是存儲(chǔ)同一種數(shù)據(jù)類型多個(gè)元素的集合。也可以看成是一個(gè)容器;數(shù)組既可以存儲(chǔ)基本數(shù)據(jù)類型,也可...
摘要:如果你仍然無(wú)法抉擇,那請(qǐng)選擇,畢竟這是未來(lái)的趨勢(shì),參考知乎回答還是編輯器該如何選我推薦社區(qū)版,配置簡(jiǎn)單功能強(qiáng)大使用起來(lái)省時(shí)省心,對(duì)初學(xué)者友好。 這是一篇 Python 入門(mén)指南,針對(duì)那些沒(méi)有任何編程經(jīng)驗(yàn),從零開(kāi)始學(xué)習(xí) Python 的同學(xué)。不管你學(xué)習(xí)的出發(fā)點(diǎn)是興趣驅(qū)動(dòng)、拓展思維,還是工作需要、想要轉(zhuǎn)行,都可以此文作為一個(gè)參考。 在這個(gè)信息爆炸的時(shí)代,以 Python入門(mén) 為關(guān)鍵字搜索出...
閱讀 923·2023-01-14 11:38
閱讀 895·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2055·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02