π² ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π»ΠΎΡΠΊΡ Π² Python: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π»ΠΎΡΠΊΡ Π² Python?
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ΅ΠΊΡ Π΅Π»ΠΎΡΠΊΠΈ Π² Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°ΡΠΈΠΊΠ»Π΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
height = 5
for i in range(height):
print(" " * (height - i - 1) + "*" * (2 * i + 1))
print(" " * (height - 1) + "*")
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΠΊΠ» "for", ΡΡΠΎΠ±Ρ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΎΡΠΌΠ΅ Π΅Π»ΠΎΡΠΊΠΈ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² "*" ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊ Π²Π΅ΡΡ Ρ Π΅Π»ΠΊΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΎΡΡΡΡΠΏΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½ΡΡ ΡΠΎΡΠΌΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΅Π»ΠΎΡΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΠΎΡΡ 5 ΡΡΡΠΎΠΊ, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ "height", ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π»ΠΎΡΠΊΡ Π΄ΡΡΠ³ΠΎΠΉ Π²ΡΡΠΎΡΡ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π»ΠΎΡΠΊΡ Π² Python!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π»ΠΎΡΠΊΡ Π² Python
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ Π΅Π»ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠΈΡΡΠ½ΠΎΠΊ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΅Π»ΠΎΡΠΊΠΈ Π² Python.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π΅Π»ΠΎΡΠΊΠΈ
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΅Π»ΠΎΡΠΊΠΈ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ Π΅Π΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»Ρ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°.
def draw_tree(levels):
for i in range(1, levels + 1):
print(' ' * (levels - i) + '*' * (2 * i - 1))
print(' ' * (levels - 1) + '*')
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΡ draw_tree ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ levels, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ Π² Π΅Π»ΠΎΡΠΊΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» for, ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΅Π»ΠΎΡΠΊΡ, ΠΏΠ΅ΡΠ°ΡΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ·ΠΎΠ²Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ draw_tree(5), ΠΎΠ½Π° Π½Π°ΡΠΈΡΡΠ΅Ρ Π΅Π»ΠΎΡΠΊΡ Ρ 5 ΡΡΠΎΠ²Π½ΡΠΌΠΈ:
draw_tree(5)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
*
***
*****
*******
*********
*
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΅Π»ΠΎΡΠΊΠΈ Π² Python - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Turtle. ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠ³ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
import turtle
def draw_tree(levels, length):
turtle.speed(0)
if levels == 0:
return
turtle.forward(length)
turtle.left(45)
draw_tree(levels - 1, length * 0.6)
turtle.right(90)
draw_tree(levels - 1, length * 0.6)
turtle.left(45)
turtle.backward(length)
draw_tree(5, 100)
turtle.done()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΡ draw_tree ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ turtle Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅Π»ΠΎΡΠΊΠΈ. ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ levels ΠΈ length, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΈ Π΄Π»ΠΈΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΅Π»ΠΎΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ draw_tree(5, 100) Π½Π°ΡΠΈΡΡΠ΅Ρ Π΅Π»ΠΎΡΠΊΡ Ρ 5 ΡΡΠΎΠ²Π½ΡΠΌΠΈ ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ 100:
draw_tree(5, 100)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pygame
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pygame ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ³ΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π΅Π»ΠΎΡΠΊΡ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Pygame Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip install pygame
.
import pygame
def draw_tree(levels, length, x, y):
if levels == 0:
return
pygame.draw.line(screen, (0, 255, 0), (x, y), (x, y - length), 3)
pygame.draw.line(screen, (0, 255, 0), (x, y - length), (x + length, y - length), 3)
pygame.draw.line(screen, (0, 255, 0), (x, y - length), (x - length, y - length), 3)
draw_tree(levels - 1, int(length * 0.8), x, y - length)
draw_tree(levels - 1, int(length * 0.8), x + int(length * 0.6), y - length)
draw_tree(levels - 1, int(length * 0.8), x - int(length * 0.6), y - length)
pygame.init()
screen = pygame.display.set_mode((800, 600))
draw_tree(5, 200, 400, 600)
pygame.display.flip()
pygame.quit()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΡ draw_tree ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pygame Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅Π»ΠΎΡΠΊΠΈ. ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ levels, length ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x, y. ΠΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ, Π΄Π»ΠΈΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π΅Π»ΠΎΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ draw_tree(5, 200, 400, 600) Π½Π°ΡΠΈΡΡΠ΅Ρ Π΅Π»ΠΎΡΠΊΡ Ρ 5 ΡΡΠΎΠ²Π½ΡΠΌΠΈ, Π΄Π»ΠΈΠ½ΠΎΠΉ 200 ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (400, 600):
draw_tree(5, 200, 400, 600)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΅Π»ΠΎΡΠΊΠΈ Π² Python. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Turtle ΠΈΠ»ΠΈ Pygame. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ.
Π£Π΄Π°ΡΠΈ Π² Π²Π°ΡΠΈΡ ΡΠ²ΠΎΡΡΠ΅ΡΠΊΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Ρ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π΅Π»ΠΎΡΠΊΠΈ Π² Python!