绘制的图形是在屏幕中央有一个半径为R1=160的大圆和一个同心的且半径为R2=120的小圆,同时在大圆和小圆中间均匀分布着n个与大圆和小圆相切的圆。n为用户输入的小圆个数,程序运行结果如图。同心圆 要求: (1) 分别用n种不同的颜色填充n个小圆,且颜色是可变的; (2)用实线模式填充同心圆的内圆,且用漫延填充方法填充;
时间: 2023-05-20 15:07:28 浏览: 296
您可以使用以下代码绘制此图形:
```
import turtle
# 用户输入
n = int(input("请输入小圆的个数:"))
# 创建画布和画笔
screen = turtle.Screen()
pen = turtle.Turtle()
# 设置画笔属性
pen.hideturtle()
pen.speed(0)
# 绘制大圆
pen.penup()
pen.goto(0, -160)
pen.pendown()
pen.begin_fill()
pen.color("white")
pen.circle(160)
pen.end_fill()
# 绘制小圆
for i in range(n):
pen.penup()
pen.goto(0, -120)
pen.right(i * (360 / n))
pen.forward(40)
pen.right(90)
pen.pendown()
pen.begin_fill()
pen.color(i / n, 1, 1)
pen.circle(40)
pen.end_fill()
pen.penup()
pen.goto(0, -120)
pen.right(i * (360 / n))
pen.forward(40)
pen.left(90)
# 绘制同心圆
pen.penup()
pen.goto(0, 0)
pen.pendown()
pen.pencolor("black")
pen.begin_fill()
pen.circle(120)
pen.end_fill()
pen.penup()
pen.goto(0, 0)
pen.pendown()
pen.pencolor("white")
pen.begin_fill()
pen.circle(80)
pen.end_fill()
# 显示画面
screen.mainloop()
```
此代码会根据用户输入的小圆个数,在大圆和小圆中间绘制n个与大圆和小圆相切的小圆,使用n种不同的颜色填充,同时绘制同心圆并用实线模式和漫延填充方法填充。希望这个回答能够帮到您。
阅读全文