4.3 Пересечение отрезков. 'Поколение Python': курс для начинающих. Курс Stepik

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

Разбор задач из онлайн-курса "Поколение Python": курс для начинающих. С образовательной онлайн-платформы Stepik.
Разбор задач по Python (Питон):
"Поколение Python": курс для профессионалов -

Рекомендации по теме
Комментарии
Автор

Спасибо тебе, за то, что записал такие крутые видосы с решением по курсу! Очень помогает, когда заходишь в тупик! Дай бог тебе здоровья за твой труд!

zfzprpc
Автор

блин, ты так здорово и понятно объясняешь, спасибо тебе большое)

Nana_Volk
Автор

Спасибо большое. Разжевал очень доступно))

novikovjekas
Автор

Спасибо большое, очень помог, как и с шахматами)) пока не нашел твой канал очень сильно злился!
print('Спасибо')

eldiablo
Автор

очень понятно объясняет, но все равно пришлось 6 раз пересмотрет.

merw
Автор

Только из-за лени тяжело решать было эту задачу. Нужно столько расписать и ещё миллион раз проверить, потом править. Начал решать на телефоне, пол дня потратил не решил, пришёл домой психанул и скатал задание. Обидно, но что поделать. Тратить время на поиски БАГОВ, а не решение, как то в лом.

mruniverse
Автор

пожалуйста, скажите, что не так с моим кодом, где ошибка (проваливается на десятом тесте, где на вход подаются: -150 -49 -100 -50). Вот код:
a1 = int(input())
b1 = int(input())
a2 = int(input())
b2 = int(input())

if (a1 < a2 and b1 < b2 and b1 < a2) or (a2 < a1 and b2 < b1 and b2 < a1):
print("пустое множество")

elif (a1 == a2 and (b1 == b2 or b1 < b2)) or (b1 == b2 and a2 < a1):
if a1 != b1:
print(a1, b1)
else:
print(a1)
elif (a2 < a1 and a1 < b2) or (a1 == a2 and b2 < b1):
if a1 != b2:
print(a1, b2)
else:
print(a1)
elif (a1 < a2 and a2 < b1 and b1 < b2) or (b1 == b2 and a1 < a2) or (a2 > a1 and b2 > b1):
if a2 != b1:
print(a2, b1)
else:
print(a2)
elif a1 < a2 and a2 == b1:
print(a2)
elif a2 < a1 and a1 == b2:
print(a1)

Спасибо! =)

ksurealism
Автор

Можно ли перездать экзамен? Не хватило время так как надо было отвлечься.

borycll
Автор

Подскажите пожалуйста. Я не понимаю и застрял на этом задании. Как вы определяете где маленький отрезок а где большой?

Musby_
Автор

а какой знак идет после < и > на предпоследних строках кода?

riskovyy_kent
Автор

Failed test #9 of 17. Wrong answer, что может означать???

MaksStepikGo
Автор

Странно, может я пропустил, но разве можно if/elif писать без окончательного else?

safonov_sergey
Автор

Я в тупую уже переписала твоё решение, но всё равно не засчитывает правильным. А беда была в том, что пустое с маленькое п...

iscivlu
Автор

А разве в 4 строке не 'and' доожно быть вместо 'or'?

linsertgq
Автор

пробовала писать в ручную и просто копировать решение, почему то все время выдает ошибку с таким решением Failed test #10 of 17. Wrong answer

mysbzek
Автор

всратая задача не про логику не про язык, а просто задолбать студента эджкейсами

spinacker
Автор

Так это не пересечение отрезков, могу навести много контрпримеров, когда проекции пересихаються а их прямые нет. Зачем вводить людей в заблуждение. Ни один из случаев изображеных на рисунке не даёт факта о пересечении. Это необходимое не НЕДОСТАТОЧНОЕ условие.

armazet