-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsquare - 2.py
119 lines (110 loc) · 4.81 KB
/
square - 2.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
import math
'''
Напишите программу, работающую в бесконечном цикле, для вычисления площади круга, прямоугольника или треугольника
(по выбору пользователя).
* Площадь круга вычисляется по формуле pi*r^2;
* Площадь прямоугольника - произведение двух его сторон;
* Площадь треугольника - по формуле Герона через полупериметр.
'''
alf = 'абвгдежзийклмнопрстуфхцчшщъыьэюabcdefghijklmnoprstuvwxyАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮABCDEFGHIJKLMNOPRSTUVWXY ,:/\|-+=_'
def true(k):
if k in alf:
print('Ошибка! Неправильный ввод.')
main()
def krug():
print('---------------------------------------------------')
a = input('Введите радиус круга: ')
if a != '':
for k in a:
true(k)
else:
S = float(a) * float(a) * math.pi # Нахождение площади круга
print('Площадь круга равна ' + str(S))
main()
else:
print('Ошибка! Неправильный ввод.')
main()
def pryam():
print('---------------------------------------------------')
a = input('Введите первую сторону: ')
b = input('Введите вторую сторону: ')
if a != '' and b != '':
for k in a:
true(k)
for k in b:
true(k)
else:
S = float(a) * float(b) # Нахождение площади прямоугольника
print('Площадь прямоугольника равна ' + str(S))
main()
else:
print('Ошибка! Неправильный ввод.')
main()
def tre():
print('---------------------------------------------------')
a = input('Введите первую сторону: ')
b = input('Введите вторую сторону: ')
c = input('Введите третью сторону: ')
if a != '' and b != '' and c != '':
for k in a:
true(k)
for k in b:
true(k)
for k in c:
true(k)
else: # Нахождение площади треугольника
if (float(a) + float(b) >= float(c)) and (float(c) >= float(a)) and (float(c) >= float(b)):
p = (float(a) + float(b) + float(c)) / 2
S = p * (p - float(a)) * (p - float(b)) * (p - float(c))
math.sqrt(S)
print('Площадь треугольника равна ' + str(S))
main()
elif (float(c) + float(b) >= float(a)) and (float(a) >= float(c)) and (float(a) >= float(b)):
p = (float(a) + float(b) + float(c)) / 2
S = p * (p - float(a)) * (p - float(b)) * (p - float(c))
math.sqrt(S)
print('Площадь треугольника равна ' + str(S))
main()
elif (float(a) + float(c) >= float(b)) and (float(b) >= float(a)) and (float(b) >= float(c)):
p = (float(a) + float(b) + float(c)) / 2
S = p * (p - float(a)) * (p - float(b)) * (p - float(c))
math.sqrt(S)
print('Площадь треугольника равна ' + str(S))
main()
else:
print('Ошибка в значениях.')
main()
else:
print('Ошибка! Неправильный ввод.')
main()
def main():
print('---------------------------------------------------\n'
'Действие:\n'
'1) Площадь круга\n'
'2) Площадь прямоугольника\n'
'3) Площадь треугольника\n'
'Q - Выход из программы\n')
ans = input('Введите действие: ')
if ans != '':
for k in ans:
if k in alf:
print('Ошибка! Неправильный ввод.')
main()
break
if ans == 'q' or ans == 'Q':
print('---------------------------------------------------')
print('Был произведен выход из программы.')
exit(0)
elif int(ans) == 1:
krug()
elif int(ans) == 2:
pryam()
elif int(ans) == 3:
tre()
else:
print('Ошибка! Неправильный ввод.')
main()
else:
print('Ошибка! Неправильный ввод.')
main()
main()