python的應用還是比較的廣泛的,甚至可以去繪畫,但是,要是想去繪畫的話,還是需要一定的時間,然后去進行訓練繪畫的。下面就以一個案例的形式,來教給大家,怎么用Python去畫圖,大家要仔細的進行閱讀哦。
1.多邊形的繪制案例
#多邊形的繪制案例
import turtle
def main():
turtle.color("green")
#steps代表多邊形的繪制
turtle.circle(50,steps=6)
turtle.exitonclick()
if __name__=="__main__":
main()
2.太陽花案例
#太陽花案例*******************************************************************
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.藝術圖片
#藝術圖片*************************************************************************
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.繪制時鐘
#繪制時鐘************************************************************************************************
import turtle as tt
from datetime import*
#當前日期屬于一周的第幾天
def Week(t):
week=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
return week[t.weekday()]
#獲取當前時間
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)
#移動畫筆,距離為distance
def movePen(distance):
tt.penup()
tt.pensize(5)
tt.pencolor("blue")
tt.fd(distance)
tt.pendown()
#繪制表針
def makeHands(name,length):
#清空窗口,重置turtule狀態為初始狀態
tt.reset()
movePen(-length*0.1)
#開始記錄多邊形的頂點
tt.begin_poly()
tt.fd(length*1.1)
#停止記錄多邊形的頂點
tt.end_poly()
#返回記錄的多邊形
handForm=tt.get_poly()
tt.register_shape(name,handForm)
#初始化
def initial():
global secHand,minHand,hurHand,printer
#重置方向向北(上),正角度為順時針
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()
#隱藏畫筆
printer.hideturtle()
printer.penup()
#繪制表盤外框
def drawClock(R):
#清空窗口,重置turtule狀態為初始狀態
tt.reset()
#畫筆尺寸
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:
#寫文本
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:
#繪制指定半徑和顏色的點
tt.dot(5,"red")
movePen(-R)
tt.right(6)
#表針的動態顯示
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))
#設置當前畫筆位置為原點,方向朝東
printer.home()
tt.tracer(True)
#經過100ms后繼續調用handsMove函數
tt.ontimer(handsMove,100)
#調用定義的函數,打開和關閉動畫,為更新圖紙設置延遲;
tt.tracer(False)
initial()
drawClock(200)
tt.tracer(True)
handsMove()
tt.mainloop()
7.繪制分形樹
#繪制分形樹******************************************************************************
import turtle
def draw_branch(branch_length):
'''
繪制分形樹
'''
if branch_length>5:
#繪制右側樹枝
turtle.forward(branch_length)
print("向前:",branch_length)
turtle.right(20)
print("右轉:20度")
draw_branch(branch_length-15)
#繪制左側樹枝
turtle.left(40)
print("左轉:40度")
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128300.html
摘要:所以就想把一大串縮短點,將二進制中的三位用一位表示。以可以大寫也可以小寫開頭版本可以表示二進制了八進制的數據表現形式由組成。結果把系數基數的權次冪相加即可。因為語言采用的是碼來編碼的。 1_(常量的概述和使用)* A:什么是常量(constant) 在程序執行的過程中其值不可以發生改變 B:Java中常量的分類 字面值常量 自定義常量(面向對象部分講) C:字面值常量的...
小編寫這篇文章的一個最為主要的目的,就是去給大家去做一個解釋,解釋關于在python中的一些問題,甚至是出現的各種相關的疑難雜癥問題,比如出現了中文負數的問題,下面小編就給大家詳細的去做一個解答。 解決Python中matplotlib庫畫圖中文和負號顯示為方框的問題 注意: 語言版本:Python 3.10.4 編譯器版本:PyCharm 2021.3.2 操作系統:Win11 ...
摘要:并把最終的隨機數輸出到控制臺。方法,在集合中如何存儲元素取決于方法的返回值返回,集合中只有一個元素。創建集合對象,傳入比較器。 1_HashSet存儲字符串并遍歷 A:Set集合概述及特點 通過API查看即可 B:案例演示 HashSet存儲字符串并遍歷 import java.util.HashSet; public class Demo1_HashSet { p...
摘要:下載指定網站上的妹子圖片,這里只抓了前頁的圖片,可根據需要自己設置頁數值為圖片類型,大家可以自行更改值體驗一下,有問題留言給我,看到就會解答大胸妹美腿控有顏值大雜燴小翹臀鏈接已處理完畢圖片下載完成 下載指定網站上的妹子圖片,這里只抓了前100頁的圖片,可根據需要自己設置頁數cat值為圖片類型,大家可以自行更改cat值體驗一下,有問題留言給我,看到就會解答2 = 大胸妹3 = 美腿控4 ...
摘要:空指針異常原因數組已經不在指向堆內存了。當訪問數組不存在的索引時,就會出現數組索引越界異常數組的操作遍歷掌握案例演示數組遍歷就是依次輸出數組中的每一個元素。內循環控制的是一維數組的長度。 1.數組概述和定義格式說明 A:為什么要有數組(容器): 為了存儲同種數據類型的多個值 B:數組概念: 數組是存儲同一種數據類型多個元素的集合。也可以看成是一個容器;數組既可以存儲基本數據類型,也可...
摘要:如果你仍然無法抉擇,那請選擇,畢竟這是未來的趨勢,參考知乎回答還是編輯器該如何選我推薦社區版,配置簡單功能強大使用起來省時省心,對初學者友好。 這是一篇 Python 入門指南,針對那些沒有任何編程經驗,從零開始學習 Python 的同學。不管你學習的出發點是興趣驅動、拓展思維,還是工作需要、想要轉行,都可以此文作為一個參考。 在這個信息爆炸的時代,以 Python入門 為關鍵字搜索出...
閱讀 917·2023-01-14 11:38
閱讀 888·2023-01-14 11:04
閱讀 747·2023-01-14 10:48
閱讀 2025·2023-01-14 10:34
閱讀 954·2023-01-14 10:24
閱讀 829·2023-01-14 10:18
閱讀 504·2023-01-14 10:09
閱讀 581·2023-01-14 10:02