使用Python的turtle模块画国旗

Python的turtle模块画国旗主要用到两个函数:draw_rentangle和draw_star。

至于函数的调用就和我们学的C,C++是一样的。对于turtle画国旗的程序中,首先是查找国旗的画法,才能用程序实现。自己在实现的过程中主要是对turtle.circle()没有准确掌握,所以花了一些不必要的时间。turtle.circle画弧时,海龟(turtle)的方向就是弧的切线方向,也就是说turtle的垂直方向就是圆心在的直线上,给定参数radius就可以画了,程序中第二注意的地方就是小五角星和大五角星的位置关系,主要是程序中的turtle.left(turtle.towards(center_x,center_y)-turtle.heading()),当然,我看有的人用了round()函数来获取近似值,但是,默认的已经足够了。下面是本人写的程序和结果演示。

import time

import turtle

import os

'''

想要学习Python?Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载!

'''

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的turtle模块画国旗 的全部内容, 来源链接: utcz.com/z/312392.html

回到顶部