导航菜单
首页 >  蓝桥杯真题python中级  > 蓝桥杯Python初级组测试题之Turtle画图2

蓝桥杯Python初级组测试题之Turtle画图2

蓝桥杯Python初级组测试题之Turtle画图2

1. 画8个内接正五边形 题目描述 在这里插入图片描述 解题思路 (1) 共有n=8个正五边形,因而有8次循环,每次旋转角度增加ang=360/n (2) 画内接正五边形用circle(raduis=50,steps=5) (3) 设置画笔颜色用pencolor(‘blue’),隐藏画笔hideturtle()

import turtlen = 8ang = 360 / nh = 0t = turtle.Turtle()t.hideturtle()t.pencolor('blue')t.seth(90)for i in range(n):# 每次递增1个ang角度h = ang * i# 向左旋转t.left(h)# 画内接正五边形t.circle(radius=50, steps=5)turtle.done()

2. 画正方形内接圆 题目描述 在这里插入图片描述 解题思路 (1) 画正方形用goto最简单,设置坐标每次100 (2) 画圆用circle(raduis=50)刚好直径100,形成内切圆 (3) 设置画笔颜色用pencolor(‘red’),填充颜色fillcolor(‘yellow’),隐藏画笔hideturtle() (4) 填充开始用begin_fill(),结束填充用end_fill()

import turtlet=turtle.Turtle()t.hideturtle()# 画正方形t.pencolor('red')t.goto(0,-100)t.goto(100,-100)t.goto(100,0)t.goto(0,0)# 画圆形t.penup()t.goto(50,-100)t.pendown()t.fillcolor('yellow')t.begin_fill()t.circle(radius=50)t.end_fill()turtle.done()

3. 画三角形及内接步正六边形 题目描述 在这里插入图片描述 解题思路 (1) 为了简化绘画步骤,内接正六边形先用circle内接正六边形画,正六边形从圆心切割,是正三角形,因此半径=边长150 (2) 移动圆心位置到需要的位置goto(150,0) (3) 画内接正六边形用t.circle(radius=150,steps=6)填充颜色fillcolor(‘green’) (4) 循环画6个外部三角形,这个需要提前在草稿本上绘制路径 (5) 隐藏画笔hideturtle() (6) 填充开始用begin_fill(),结束填充用end_fill()

import turtlet=turtle.Turtle()t.hideturtle()# 画正六边形t.penup()t.goto(150,0)t.seth(90)t.pendown()t.fillcolor('red')t.begin_fill()t.circle(radius=150,steps=6)t.end_fill()# 画外部三角形t.seth(0)t.pencolor('white')t.fillcolor('green')for i in range(6):t.begin_fill()t.seth(60*(i+1))t.forward(150)t.left(120)t.forward(150)t.end_fill()turtle.done()

4. 画扇子 题目描述 在这里插入图片描述 解题思路 (1)先计算起始角度,为(180-120)/2=30°,结束为30+120=150,每一度一次循环,可以用for也可以while True (2)每一次画的时候,先抬笔退30就到了扇子底部,再一次画150+30就把一根线完整画出,再退150回到原点 (3)循环150次画出扇子 (4)充分利用forward(30)正向前进,而forward(-30)只是回退不改变方向的特点。

import turtlet=turtle.Turtle()# t.speed(speed=0)t.hideturtle()# 起始角度为30,每一度画一次起始(180-120)/2=30,结束30+120=150ang1=30while ang1

相关推荐: