ДАЮ 100 БАЛІВ!!! ПАЙТОН!!!
виконайте пж хочаб якесь з завдань
1) Дано координати трьох точок площини: A(x1,y1), B(x2,y2), C(x3,y3). Визначити, чи можна побудувати трикутник. Самостійно, використати функцію користувача dl(). Підказка: умова існування трикутника (a+b>c) and (a+c>b) and (b+c>a).
2) Складіть програму, яка формує два списки a,b випадкових чисел довжиною n. Надрукувати ці списки та отримати новий список с за формулою c[i]=a[i]+b[i]. Розв’язати задачу двома способами (за допомогою користувацької функції та без неї).
Answers & Comments
1. Завдання
Для того, щоб визначити, які сторони є a, b і c, ви можете використати функцію користувача, яку можна назвати dl(). Ця функція приймає дві точки і повертає відстань між ними. Наприклад, щоб отримати довжину сторони a, ви можете викликати dl(A, B).
import math
def dl(point1, point2):
# Функція обчислює відстань між двома точками
x1, y1 = point1
x2, y2 = point2
return math.sqrt((x2-x1)**2 + (y2-y1)**2)
def can_build_triangle(A, B, C):
# Функція перевіряє, чи можна побудувати трикутник
a = dl(A, B)
b = dl(A, C)
c = dl(B, C)
return (a+b>c) and (a+c>b) and (b+c>a)
# Тестування функції
A = (0, 0)
B = (0, 1)
C = (1, 1)
if can_build_triangle(A, B, C):
print("Можна побудувати трикутник")
else:
print("Неможливо побудувати трикутник")
При цьому, точки A, B і C вводяться як кортежі з координатами x і y. Наприклад, (0, 0) - це точка на площині, розташована на координатах (0, 0).
2. Завдання
Без використання функції користувача
import random
# Введення довжини списків
n = int(input("Введіть довжину списків: "))
# Формування списків a, b
a = []
b = []
for i in range(n):
a.append(random.randint(0, 100))
b.append(random.randint(0, 100))
# Надрукування списків a, b
print("Список a:", a)
print("Список b:", b)
# Формування списку c
c = []
for i in range(n):
c.append(a[i] + b[i])
# Надрукування списку c
print("Список c:", c)
З використанням функції користувача
import random
def sum_lists(a, b):
c = []
for i in range(len(a)):
c.append(a[i] + b[i])
return c
# Генерируем два списка случайных чисел
n = 10
a = [random.randint(0, 100) for _ in range(n)]
b = [random.randint(0, 100) for _ in range(n)]
# Выводим списки на экран
print("Список a:", a)
print("Список b:", b)
# Складываем списки с помощью функции sum_lists
c = sum_lists(a, b)
# Выводим результирующий список на экран
print("Список c:", c)
В этом коде мы используем списковое включение (list comprehension)