CodeLab
145 subscribers
538 photos
20 videos
159 links
Говорим просто о сложном

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
🧑‍💻 С первой строчкой все понятно, разберем вторую:

‼️ Если вспомним, то индексация начинается с 0. Как раз для этого и нужна 2 строчка. Допустим, вводится число 7, вторая строка отнимает 1 и получаем 6. Как раз 6 индекс это VII.

🔗 Код:

num = int(input())
num -= 1
a = ['I', 'II', 'III', 'IV','V', 'VI', 'VII', 'VIII', 'IX', 'X']
if -1 < num <= 10:
print(a[num])
else:
print('ошибка')
🌶🌶Разберем босса с 2 перчиками.

На вход программе подаются четыре целых числа a1, b1, a2, b2. ‼️

⭕️ Обязательное условие, что a1<b1, a2<b2.

Прикреплю также один из прекрасных наглядных комментариев. #Пересечение_отрезков
Итак, работаем, отталкиваясь, от подсказки.🧑‍💻Сначала, конечно же, вводим 4 int(input)-а.

0️⃣❗️Далее, разберем первый случай, когда общего пересечения нет (следующий скрин).

То есть, если один из двух случаев существует, значит общего пересечения нет.
Дальше, прописываем много много elif.

1️⃣ Значит так, если b1 == a2, значит пересечением будет точка a2.‼️АНАЛОГИЧНО‼️ будет и наоборот, если мы отрезки поставим, грубо говоря, наоборот, про это тоже не забываем

⭕️ То есть, пересечением второго отрезка будет точка a1
2️⃣ Идем дальше. ЕСЛИ a2 > a1 AND b1 < b2, то отрезок a2;b1 будет пересечением, и также наоборот по аналогии.
3️⃣ Ну и последний отрезок
🔗 Вот и сам код:🧑‍💻

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 a2 >= a1 and b1 >= b2:
print(a2, b2)
Итак, дальше будут тесты 👇🏿
#1
#Continue #break #pass ‼️Вот вам неплохая шпора для понимая разницы этих трех операторов ‼️
#2 Кстати, continue используется внутри цикла, чтобы пропустить оставшуюся часть текущей итерации и перейти к следующей итерации цикла. Я уже объяснил на примере сверху, как это работает.
#3
Что выведет этот код, если мы подадим слово 'непон'
Anonymous Quiz
0%
непон (в столбик)
100%
нопен (в столбик)
0%
реально непон (не знаю)
0%
нопен
0%
непон
#4
Что выведет код? (Че такое break мы уже разобрали)
Anonymous Quiz
0%
a b d e d (в столбик)
0%
a b
0%
a b c d e d
50%
не знаю
50%
a b (в столбик)
Итак, сессия потихоньку подходит к концу, и, более того, я даже выжил.

Хотел бы начать свое долгое отсутствие объяснением ‼️O(n) и O(n^2), я как то уже разбирал сложность алгоритмов, поэтому стоит продолжить начатое. Итак, начнем с O(n), это у нас линейное время, достаточно медленный поиск. Алгоритмы с такой сложностью имеют время выполнения, которое увеличивается прямо пропорционально увеличению размера входных данных.

То есть, если у нас есть массив длинною n, то время выполнения алгоритма будет расти линейно вместе с увеличением n. ‼️(чем больше массив, тем дольше выполнение)‼️ #Алгоритмы