Python while循环绘制10个同心圆
时间: 2024-10-15 08:16:08 浏览: 20
在Python中,我们可以使用`turtle`模块来创建一个动画效果,绘制出10个同心圆。`turtle`模块提供了一个简单的图形交互环境,非常适合教学和初学者入门。下面是一个简单的示例:
```python
import turtle
# 创建画笔对象
pen = turtle.Turtle()
pen.speed(0) # 设置动画速度,0最快
# 定义绘制同心圆的函数
def draw_circle(radius):
pen.penup() # 抬起画笔防止圆心留痕迹
pen.goto(-radius, -radius) # 将画笔移动到圆心
pen.pendown()
pen.circle(radius) # 绘制圆
pen.penup()
pen.forward(radius * 2) # 移动到下一个圆的位置,准备绘制下个圆
# 绘制10个同心圆,每次增大半径
for i in range(10):
radius = i * 50 # 半径从0开始,每次增加50像素
draw_circle(radius)
pen.left(90) # 每次旋转90度,保持图案的整齐
# 结束绘制并关闭窗口
turtle.done()
相关问题
请编写2个函数,分别实现以下功能 1.函数名one,在宽400高300的黑色背景上,画一个等腰三角形,要求三角形大小接近充满整个背景。 2.函数名two,在400宽*300高的黑色画布上,画3个不同颜色的实心的同心圆。 这2个函数在同一个文件中
当然可以,这是一个基本的Python示例,使用了`pygame`库来绘制图形,它是一个广泛用于游戏开发的绘图模块,这里我们假设用户已经安装了`pygame`。
```python
import pygame
import math
# 初始化Pygame
pygame.init()
# 定义窗口尺寸
SCREEN_WIDTH = 400
SCREEN_HEIGHT = 300
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
background_color = (0, 0, 0) # 黑色背景
def draw_triangle():
triangle_height = min(SCREEN_WIDTH, SCREEN_HEIGHT) / 2 # 等腰三角形高度
base_length = triangle_height * 2 # 三角形底边长度
x = (SCREEN_WIDTH - base_length) // 2 # 三角形顶点位置
y = triangle_height
vertices = [(x, y), (x + base_length, y), (x + base_length // 2, y - triangle_height)]
pygame.draw.polygon(screen, (255, 255, 255), vertices, 0) # 白色三角形
def draw_circles():
circle_colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255)] # 红、绿、蓝三色
for i in range(3):
radius = int(min(SCREEN_WIDTH, SCREEN_HEIGHT) * 0.4 / 3) # 同心圆半径
center_x = SCREEN_WIDTH // 2 + i * radius
center_y = SCREEN_HEIGHT // 2
pygame.draw.circle(screen, circle_colors[i], (center_x, center_y), radius)
# 渲染和更新屏幕
def main():
screen.fill(background_color)
draw_triangle()
draw_circles()
pygame.display.update() # 更新屏幕显示
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 运行主函数
if __name__ == "__main__":
main()
```
python画同心七彩正方形
在Python中,你可以使用`turtle`模块来绘制同心圆和多彩的正方形。以下是一个简单的示例,展示如何创建一个同心的彩色正方形:
```python
import turtle
# 创建turtle对象
t = turtle.Turtle()
t.speed(0) # 设置快速移动
# 定义颜色列表
colors = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]
# 绘制同心正方形
def draw_square(size, color):
t.fillcolor(color)
t.begin_fill()
for _ in range(4):
t.forward(size)
t.right(90)
t.end_fill()
# 同心圆大小递减
radius = 50
while radius > 0:
draw_square(radius, colors.pop()) # 取出并使用最后一个颜色
radius -= 10 # 每次减小一圈的距离
# 关闭turtle窗口
turtle.done()
```
在这个例子中,我们首先设置了一个turtle对象,然后定义了七种颜色。接着通过一个循环,每次从颜色列表中取出一个颜色,并以此颜色填充一个小正方形。随着循环进行,正方形的半径逐次减小,形成同心结构。
阅读全文