使用Python的turtle模塊畫國旗
Python的turtle模塊畫國旗主要用到兩個函數(shù):draw_rentangle和draw_star。
至于函數(shù)的調用就和我們學的C,C++是一樣的。對于turtle畫國旗的程序中,首先是查找國旗的畫法,才能用程序實現(xiàn)。自己在實現(xiàn)的過程中主要是對turtle.circle()沒有準確掌握,所以花了一些不必要的時間。turtle.circle畫弧時,海龜(turtle)的方向就是弧的切線方向,也就是說turtle的垂直方向就是圓心在的直線上,給定參數(shù)radius就可以畫了,程序中第二注意的地方就是小五角星和大五角星的位置關系,主要是程序中的turtle.left(turtle.towards(center_x,center_y)-turtle.heading()),當然,我看有的人用了round()函數(shù)來獲取近似值,但是,默認的已經(jīng)足夠了。下面是本人寫的程序和結果演示。
import time
import turtle
import os
'''
想要學習Python?Python學習交流群:984632579滿足你的需求,資料都已經(jīng)上傳群文件,可以自行下載!
'''
def draw_rectangle(start_x,start_y,rec_x,rec_y):
turtle.goto(start_x,start_y)
turtle.color('red')
turtle.fillcolor('red')
turtle.begin_fill()
for i in range(2):
turtle.forward(rec_x)
turtle.left(90)
turtle.forward(rec_y)
turtle.left(90)
turtle.end_fill()
def draw_star(center_x,center_y,radius):
turtle.setpos(center_x,center_y)
#find the peak of the five-pointed star
pt1=turtle.pos()
turtle.circle(-radius,72)
pt2=turtle.pos()
turtle.circle(-radius,72)
pt3=turtle.pos()
turtle.circle(-radius,72)
pt4=turtle.pos()
turtle.circle(-radius,72)
pt5=turtle.pos()
#draw the five-pointed star
turtle.color('yellow','yellow')
turtle.fill(True)
turtle.goto(pt3)
turtle.goto(pt1)
turtle.goto(pt4)
turtle.goto(pt2)
turtle.goto(pt5)
turtle.fill(False)
#start the project
turtle.speed(5)
turtle.penup()
#draw the rectangle
star_x=-320
star_y=-260
len_x=660
len_y=440
draw_rectangle(star_x,star_y,len_x,len_y)
#draw the big star
pice=660/30
big_center_x=star_x+5*pice
big_center_y=star_y+len_y-pice*5
turtle.goto(big_center_x,big_center_y)
turtle.left(90)
turtle.forward(pice*3)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice*3)
#draw the small star
turtle.goto(star_x+10*pice,star_y+len_y-pice*2)
turtle.left(turtle.towards(big_center_x,big_center_y)-turtle.heading())
turtle.forward(pice)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice)
#draw the second star
turtle.goto(star_x+pice*12,star_y+len_y-pice*4)
turtle.left(turtle.towards(big_center_x,big_center_y)-turtle.heading())
turtle.forward(pice)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice)
#draw the third
turtle.goto(star_x+pice*12,star_y+len_y-7*pice)
turtle.left(turtle.towards(big_center_x,big_center_y)-turtle.heading())
turtle.forward(pice)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice)
#draw the final
turtle.goto(star_x+pice*10,star_y+len_y-9*pice)
turtle.left(turtle.towards(big_center_x,big_center_y)-turtle.heading())
turtle.forward(pice)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice)
turtle.ht()
time.sleep(3)
os._exit(1)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python OpenCV之圖片縮放的實現(xiàn)(cv2.resize)
這篇文章主要介紹了Python OpenCV之圖片縮放的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06
使用Windows批處理和WMI設置Python的環(huán)境變量方法
今天小編就為大家分享一篇使用Windows批處理和WMI設置Python的環(huán)境變量方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python中內置函數(shù)filter函數(shù)用法詳解
filter()函數(shù)是Python內置的另一個有用的高階函數(shù),filter()函數(shù)接收一個函數(shù)f和一個序列,函數(shù)f的作用是對每個元素進行判斷,返回True或False,下面這篇文章主要給大家介紹了關于Python中內置函數(shù)filter函數(shù)用法的相關資料,需要的朋友可以參考下2024-05-05

