Черепашья графика» при помощи turtle, рисование при помощи алгоритма
import turtle
from math import tan, sqrt, pi
def prepare(x, y, color):
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
turtle.color(color)
turtle.begin_fill()
def draw_polygon(num_sides, side_length):
angle = 360.0 / num_sides
for i in range(num_sides):
turtle.forward(side_length)
turtle.right(angle)
turtle.end_fill()
def calc_s(num_sides, side_length):
return num_sides * side_length ** 2 / (4 * tan(pi/num_sides))
def calc_side(square):
return sqrt(4 * square * tan(pi/num_sides) / num_sides)
turtle.hideturtle()
turtle.speed(10)
colors = ['red', 'green', 'blue', 'cyan', 'magenta', 'black', 'yellow', 'pink', 'brown']
xcoords = [0, 150, -150, 150, -150, 270, -270, 270, -270]
ycoords = [0, 150, -150, -150, 150, 270, -270, -270, 270]
squares = []
numsides = []
for i in range(9):
num_sides = i + 3
square = round(calc_s(num_sides, 100), 2)
side_length = round(calc_side(10000), 3)
squares.append(square)
numsides.append(num_sides)
print("Углов:", num_sides, "была площадь:", square, "стала длина грани:", side_length,
"изменение в", round(side_length/100, 2), "раз")
prepare(xcoords[i], ycoords[i], colors[i])
draw_polygon(num_sides, side_length)
turtle.exitonclick()
print("Список количество углов:", numsides, end="")
print("Список площади:", squares)
Углов: 3 была площадь: 4330.13 стала длина грани: 151.967 изменение в 1.52 раз
Углов: 4 была площадь: 10000.0 стала длина грани: 100.0 изменение в 1.0 раз
Углов: 5 была площадь: 17204.77 стала длина грани: 76.239 изменение в 0.76 раз
Углов: 6 была площадь: 25980.76 стала длина грани: 62.04 изменение в 0.62 раз
Углов: 7 была площадь: 36339.12 стала длина грани: 52.458 изменение в 0.52 раз
Углов: 8 была площадь: 48284.27 стала длина грани: 45.509 изменение в 0.46 раз
Углов: 9 была площадь: 61818.24 стала длина грани: 40.22 изменение в 0.4 раз
Углов: 10 была площадь: 76942.09 стала длина грани: 36.051 изменение в 0.36 раз
Углов: 11 была площадь: 93656.4 стала длина грани: 32.676 изменение в 0.33 раз
Список количество углов: [3, 4, 5, 6, 7, 8, 9, 10, 11]
Список площади: [4330.13, 10000.0, 17204.77, 25980.76, 36339.12, 48284.27, 61818.24, 76942.09, 93656.4]
Черепашья графика» при помощи turtle, рисование при помощи алгоритма
| 1 | import turtle turtle.title("Turtle Drawing") circle = turtle.Turtle() circle.shape("turtle") circle.pensize(5) circle.pencolor("cyan") circle.dot(20) circle.penup() circle.goto(0, -100) circle.pendown() circle.circle(100) turtle.exitonclick() | |
| 2 | import turtle square = turtle.Turtle() square.shape("turtle") square.color('red', 'green') square.begin_fill() for j in range(3): square.left(20) for i in range(4): square.forward(100) square.left(90) square.end_fill() turtle.exitonclick() | |
| 3 | import turtle polygon = turtle.Turtle() num_sides = 6 side_length = 100 angle = 360.0 / num_sides for i in range(num_sides): polygon.forward(side_length) polygon.right(angle) turtle.exitonclick() | |
| 4 | import turtle spiral = turtle.Turtle() for i in range(20): spiral.forward(i * 10) spiral.right(144) turtle.exitonclick() | |
| 5 | import turtle spiral = turtle.Turtle() for i in range(20): spiral.fd(i * 10) spiral.rt(144) spiral.goto(0,0) turtle.exitonclick() | |
| 6 | import turtle turtle.title("Turtle Circles") circ = turtle.Turtle() circ.pencolor("purple") circ.fillcolor("orange") circ.shape("circle") circ.pensize(5) circ.speed(10) circ.fd(150) circ.begin_fill() circ.circle(90) circ.end_fill() n = 10 t = turtle.Turtle() while n 50: t.circle(n) n += 10 turtle.exitonclick() | |
| 7 | import turtle star = turtle.Turtle() star.hideturtle() for i in range(8): star.forward(100) star.right(135) turtle.exitonclick() | |
| 8 | import turtle nineang = turtle.Turtle() for i in range(9): nineang.forward(100) nineang.left(140) nineang.forward(100) nineang.right(100) turtle.exitonclick() | |
| 9 | import turtle square = turtle.Turtle() for i in range(4): square.forward(100) square.right(90) starf = turtle.Turtle() for i in range(5): starf.forward(100) starf.right(144) turtle.exitonclick() | |
| | import turtle as t from random import random for i in range(100): steps = int(random() * 100) angle = int(random() * 360) t.right(angle) t.fd(steps) | |