使用Python的turtle模塊畫國旗
Python的turtle模塊畫國旗主要用到兩個(gè)函數(shù):draw_rentangle和draw_star。
至于函數(shù)的調(diào)用就和我們學(xué)的C,C++是一樣的。對于turtle畫國旗的程序中,首先是查找國旗的畫法,才能用程序?qū)崿F(xiàn)。自己在實(shí)現(xiàn)的過程中主要是對turtle.circle()沒有準(zhǔn)確掌握,所以花了一些不必要的時(shí)間。turtle.circle畫弧時(shí),海龜(turtle)的方向就是弧的切線方向,也就是說turtle的垂直方向就是圓心在的直線上,給定參數(shù)radius就可以畫了,程序中第二注意的地方就是小五角星和大五角星的位置關(guān)系,主要是程序中的turtle.left(turtle.towards(center_x,center_y)-turtle.heading()),當(dāng)然,我看有的人用了round()函數(shù)來獲取近似值,但是,默認(rèn)的已經(jīng)足夠了。下面是本人寫的程序和結(jié)果演示。
import time import turtle import os ''' 想要學(xué)習(xí)Python?Python學(xué)習(xí)交流群: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)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python流程控制 if else實(shí)現(xiàn)解析
這篇文章主要介紹了Python 流程控制 if else實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09python自動(dòng)化之如何利用allure生成測試報(bào)告
這篇文章主要給大家介紹了關(guān)于python自動(dòng)化之如何利用allure生成測試報(bào)告的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05利用Seaborn繪制20個(gè)精美的pairplot圖
本文記錄的使用seaborn繪制pairplot圖,主要是用來顯示兩兩變量之間的關(guān)系(線性或非線性,有無較為明顯的相關(guān)關(guān)系等),感興趣的可以了解一下2022-07-07Python實(shí)現(xiàn)讀取目錄所有文件的文件名并保存到txt文件代碼
這篇文章主要介紹了Python實(shí)現(xiàn)讀取目錄所有文件的文件名并保存到txt文件代碼,本文分別使用os.listdir和os.walk實(shí)現(xiàn)給出兩段實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-11-11Pytorch中accuracy和loss的計(jì)算知識(shí)點(diǎn)總結(jié)
在本片文章里小編給大家整理的是關(guān)于Pytorch中accuracy和loss的計(jì)算相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2019-09-09基于python實(shí)現(xiàn)操作git過程代碼解析
這篇文章主要介紹了基于python實(shí)現(xiàn)操作git過程代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07