简介:可以自建模块,并调用模块内的函数绘制图形,判断这些图形是否为轴对称图形,并为轴堆成图形绘制出对称轴。
import turtle
------------------------------------------任务一-------------------------------------------------
///自建模块,调用函数模块,绘制图形
//绘制飞镖
def dart(x,y):
__Pen = turtle.Pen()
__Pen.right(15)
__Pen.fillcolor("//3333ff")
__Pen.begin_fill()
__Pen.penup()
__Pen.goto(x,y)
__Pen.pendown()
for __count in range(3):
__Pen.forward(100)
__Pen.left(150)
__Pen.forward(100)
__Pen.right(30)
__Pen.end_fill()
__Pen.hideturtle()
//绘制小红花
def flower(x,y):
p = turtle.Pen()
p.penup()
p.goto(x, y)
p.pendown()
p.pencolor("//ff6666")
for i in range(5):
p.dot(50)
p.right(72)
p.forward(25)
//绘制多边形
def test(x,y):
__Pen = turtle.Pen()
for __count in range(8):
__Pen.circle(30, steps=8)
__Pen.right(360 / 8)
__Pen.hideturtle()
dart(200,200)
flower(100,100)
test(100,800)
turtle.done()
//另存为 drawing 文件
------------------------------------------任务二-------------------------------------------------
///判断所绘制图形,哪些是轴对称图形
//另存为 admin 文件
import drawing
import turtle
drawing.dart(-100,-100)
drawing.test(100,800)
drawing.flower(100,100)
print("以下哪些是轴对称图形呢?")
print("1.飞镖")
print("2.小红花")
print("3.雪花")
t=0
while(t==0):
n=1
answer = turtle.textinput("对称图形","请写出轴对称图形的序号,多个请用,号分开")
answer_str=answer.split(',')
answer_int=list(map(int,answer_str))
#print(answer)
for i in range(0,len(answer_int)):
if ((answer_int[i]) or (answer_int[i]>5)):
print("你是在逗我玩吗?以上有5个图形,为什么要输入数字{}呢?",format(answer_int[i]))
n=0
break
if n==1:
if (3 in answer_int) and (4 in answer_int) and (3 in answer_int)and (1 not in answer) and(2 not in answer):
print('回答正确')
t=1
else :
print('回答错误!请仔细看图,重新回答')
t=0
------------------------------------------任务三-------------------------------------------------
///绘制轴对称图形的对称轴
def draw_axis(x,y):
p=turtle.Pen()
p.pensize(20)
p.pencolor('red')
p.penup()
p.goto(x,y)
p.pendown()
p.setheading(270)
p.forward(300)
p.hideturtle()
draw_axis(-272,-100)
draw_axis(0,30)
draw_axis(260,-50)
turtle.done()
素材来源于网络搜集