Python使用turtle画五星红旗
前面我們已經(jīng)學會畫五角星,不妨讓我們一起繪制一面五星紅旗吧!!!
思路:1.首先需要導包,用Python自帶的turtle包,直接導入
2.設置好畫布大小
3.繪制五角星時注意每顆星的起始位置,旋轉(zhuǎn)角度,畫筆顏色,填充顏色等
4.添加文字
效果圖:
代碼:
運行結(jié)果:
大家動起手來吧,需要代碼自取
import turtle#導入海龜筆庫
import math
turtle.pencolor("red")
turtle.fillcolor("red")
turtle.pensize(1)
#畫矩形,選擇的66*44比例的旗幟
turtle.begin_fill()
turtle.up()#拿起筆
turtle.goto(-330,-220)#起始坐標
turtle.down()#落筆準備畫
for i in range(2): #循環(huán)畫出正方形
turtle.fd(660)
turtle.left(90)
turtle.fd(440)
turtle.left(90)
#此時海龜坐標為-330,-220
turtle.end_fill()
#分割二象限,用于調(diào)試計算,提交時注釋掉
'''turtle.up()
turtle.goto(-330,0)
turtle.down()
turtle.fd(660)
turtle.speed(0)
turtle.up()
turtle.goto(0,220)
turtle.down()
turtle.seth(-90)
turtle.fd(440)
for i in range(10):
turtle.up()
turtle.goto(-330,22*i)
turtle.seth(0)
turtle.down()
turtle.fd(330)
for i in range(15):
turtle.up()
turtle.goto(-22*i,220)
turtle.seth(-90)
turtle.down()
turtle.fd(220)
turtle.up()
turtle.goto(-220,44)# 大五角星的中心的正下方
turtle.down()
turtle.seth(0)
turtle.circle(66)
'''
#畫五角星
def draw_star(x,y,a,b,rank,radis):
turtle.fillcolor("yellow")#填充顏色
turtle.pencolor("yellow") #畫筆顏色
turtle.up()
pos_list=[] #存儲五個點的坐標的二維列表
turtle.goto(x,y)
turtle.seth(0)
if rank>0:
if(rank<3):#判斷是上面兩個星星還是下面兩個星星,因為轉(zhuǎn)的角度不同
rank=2
else:
rank=3
f=90*rank+math.degrees(math.atan(a/b))
else:
f=0;
#print(f)
turtle.circle(-radis,f)
for i in range(5): #循環(huán)5次,標記五個點
turtle.up()
turtle.circle(-radis,144)
#turtle.down()
#turtle.dot()
pos_list.append(turtle.pos())
#print(small_pos_list)
turtle.up()
turtle.goto(pos_list[4])#回到起點
turtle.begin_fill()
turtle.down()
for i in range(5): #開始畫五角星
turtle.goto(pos_list[i])
turtle.end_fill()
draw_star(-220,176,0,0,0,66) #畫大五角星,輸入起點坐標,偏置角度0,0,規(guī)定大五角星編號為0,圓形半徑為66
draw_star(-110,198,5,3,1,22) # 第一顆星星 起點在左邊第5個格子,上邊9個格子,偏置角度的tan=5/3,編號為1,圓形半徑為22
draw_star(-66,154,7,1,2,22)# 第二顆星星 起點在左邊第3個格子,上邊7個格子,偏置角度的tan=7/1,編號為2,圓形半徑為22
draw_star(-66,88,2,7,3,22)# 第三顆星星 起點在左邊第3個格子,上邊7個格子,偏置角度的tan=2/7,編號為3,圓形半徑為22
draw_star(-110,44,4,5,4,22) # 第四顆星星 起點在左邊第5個格子,上邊9個格子,偏置角度的tan=4/5,編號為4,圓形半徑為22
#繪制文字
turtle.up()
turtle.color('black')
turtle.goto(220,-180)#定位
turtle.hideturtle()
turtle.write('繪制員:',font=('微軟雅黑',10))
turtle.up()
turtle.color('black')
turtle.goto(240,-200)#定位
turtle.hideturtle()
turtle.write('2111340',font=('微軟雅黑',10))
turtle.up()
turtle.color('black')
turtle.goto(240,-220)#定位
turtle.hideturtle()
turtle.write('王 麗',font=('微軟雅黑',10))
記得點贊,關(guān)注小編
總結(jié)
以上是生活随笔為你收集整理的Python使用turtle画五星红旗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Intern岗位大面积取消,拿到的off
- 下一篇: python点云快速配准_分享一个V-S