-
Notifications
You must be signed in to change notification settings - Fork 0
/
hw_geometry.py
68 lines (58 loc) · 1.78 KB
/
hw_geometry.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import math
FIRST_LINE = ' *'
SECOND_LINE = '***********'
new_line = ''
def three_angles(mode='tr2'):
y_range = 0
for x in range(10):
y_range += 1
f_line = False
for y in range(y_range):
if not f_line:
new_line = FIRST_LINE[x:12]
if mode != 'tr1':
new_line += x * '*'
print(new_line, end='')
f_line = True
else:
print('*', end='')
print()
if mode == 'romb':
for x in range(10):
y_range -= 1
f_line = False
for y in range(y_range):
if not f_line:
new_line = (x + 2) * ' ' + SECOND_LINE[x:9]
print(new_line, end='')
f_line = True
else:
print('*', end='')
print()
# равноб треугольник
three_angles()
# ромб
three_angles('romb')
# прям треугольник
three_angles('tr1')
#круг (через sin и cos)
r = 20
a = []
for angle in range(0, 360, 5):
x = round(math.sin(angle) * r);
y = round(math.cos(angle) * r);
a.append([x, y]) #координаты с шагом 5 градусов записываем в список
# -30 +30 (x y)
find = False #флаг, который указывает что координаты в списке найдены
for x in range(-40, 40):
for y in range(-40, 40):
for x2, y2 in a:
if x == x2 and y == y2:
find = True
break
if find:
find = False
print('**', end='')
else:
print(' ', end='')
print('')