Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Помогите написать код Python! Плизз

Пересечение отрезков ????️????️
На числовой прямой даны два отрезка: [a1; b1] и [a2; b2]
Напишите программу, которая находит их пересечение.

Пересечением двух отрезков может быть:

отрезок;
точка;
пустое множество.
Формат входных данных
На вход программе подаются 4 целых числа a1, b1, a2, ,b2 каждое на отдельной строке. Гарантируется, что a1 < b1 и a2 < b2

Формат выходных данных
Программа должна вывести на экран границы отрезка, являющегося пересечением, либо общую точку, либо текст «пустое множество».

Sample Input 1:

1
3
2
4
Sample Output 1:

2 3
Sample Input 2:

1
2
3
4
Sample Output 2:

пустое множество
Sample Input 3:

5
6
6
8
Sample Output 3:

6

По дате
По рейтингу
Аватар пользователя
Знаток

a1 = int(input())
b1 = int(input())
a2 = int(input())
b2 = int(input())

if (b1 == a2):
print(b1)
elif (b2 == a1):
print(b2)
elif (b1 < a2 or b2 < a1):
print("пустое множество")
else:
print(max(a1, a2), min(b1, b2))

Аватар пользователя
Ученик

a1, b1 = int(input()), int(input())
a2, b2 = int(input()), int(input())
if b1 < a2 or b2 < a1:
print('пустое множество')
elif b1 == a2:
print(a2)
elif b2 == a1:
print(a1)
elif a2 > a1 and b1<b2:
print(a2, b1)
elif a2 < a1 and b1>b2:
print(a1, b2)
elif a1 >= a2 and b2>=b1:
print(a1, b1)
elif a1 <=a2 and b2<=b1:
print(a2,b2)

Аватар пользователя
Мастер

Тебе на фриланс бро.

Аватар пользователя
Ученик
9мес

a1, b1, a2, b2 = int(input()), int(input()), int(input()), int(input())
if b1 < a2 or b2 < a1:
print('пустое множество')
else:
if a1 > a2:
a2 = a1
if b1 > b2:
b1 = b2
if a2 == b1:
print(a2)
else:
print(a2, b1)

Задачи выше не работают, прилагаю решение преподавателя!

Аватар пользователя
Ученик
4мес

Коды выше вместо пересечений выдают "пустое множество".
Вот корректный :

a1 = int(input())
a2 = int(input())
b1 = int(input())
b2 = int(input())

if a2 < b1 or a1 > b2:
print('пустое множество')
elif a1 == b2:
print(a1)
elif a2 == b1:
print(a2)
else:
start = a1
end = a2

if start < b1:
start = b1
if end > b2:
end = b2

print(start, end)