Задание 17:
Проверка равенства площадей двух треугольников по их сторонам.
import math
def area_of_triangle(a, b, c):
s = (a + b + c) / 2
return math.sqrt(s * (s - a) * (s - b) * (s - c))
def are_triangles_equal(a1, b1, c1, a2, b2, c2):
area1 = area_of_triangle(a1, b1, c1)
area2 = area_of_triangle(a2, b2, c2)
if area1 == area2:
return "Triangles are equal"
else:
return "Foul!!!"
# Пример ввода
a1, b1, c1 = 3, 4, 5
a2, b2, c2 = 6, 8, 10
print(are_triangles_equal(a1, b1, c1, a2, b2, c2))
Задание 18:
Подсчёт площади равнобедренного треугольника и проверка на чётность.
def area_of_isosceles_triangle(a, b):
if a != b:
return "Sides a and b must be equal for an isosceles triangle"
base = a
height = math.sqrt(a**2 - (base/2)**2)
area = 0.5 * base * height
if area % 2 == 0:
return area / 2
else:
return "Не могу делить на 2!"
# Пример ввода
a, b = 5, 5
print(area_of_isosceles_triangle(a, b))
Задание 19:
Вычисление y в зависимости от значения x.
def calculate_y(x):
if x < 0:
return 1 / x
else:
return 2 * (x ** 2)
# Пример ввода
x = -5
print(calculate_y(x))
x = 3
print(calculate_y(x))
Задание 20:
Вычисление y в зависимости от значения x.
def calculate_y(x):
if x > 0:
return 1 / (x ** 2)
else:
return x / 6
# Пример ввода
x = 5
print(calculate_y(x))
x = -2
print(calculate_y(x))
Задание 21:
Проверка, поместится ли круг в квадрате.
def can_circle_fit_in_square(R, a):
diameter = 2 * R
if diameter <= a:
return "Круг поместится в квадрат"
else:
return "Круг не поместится в квадрат"
# Пример ввода
R = 4
a = 10
print(can_circle_fit_in_square(R, a))
однострочные версии программ для каждого задания:
Задание 17:
area=lambda a,b,c:__import__("math").sqrt((a+b+c)/2*((a+b+c)/2-a)*((a+b+c)/2-b)*((a+b+c)/2-c))
print("Triangles are equal" if area(3,4,5)==area(6,8,10) else "Foul!!!")
Задание 18:
area=lambda a,b:0.5*a*__import__('math').sqrt(a**2-(a/2)**2)
print(area(5,5)/2 if area(5,5)%2==0 else "Не могу делить на 2!")
Задание 19:
print((lambda x: 1/x if x<0 else 2*(x**2))(-5))
print((lambda x: 1/x if x<0 else 2*(x**2))(3))
Задание 20:
print((lambda x: 1/(x**2) if x>0 else x/6)(5))
print((lambda x: 1/(x**2) if x>0 else x/6)(-2))
Задание 21:
print("Круг поместится в квадрат" if 2*4<=10 else "Круг не поместится в квадрат")