CodeLab
⚙️ Я предлагаю разобрать одну из первых сложных задачек на Stepik-е. 🌶На тот момент она действительно вызвала вопросы, но сейчас ее можно легко объяснить. #Сама_Неотвратимость
‼️ Возвращаясь к задаче, Танос уничтожает половину, а значит и делить мы будем на 2, только как⁉️В условии сказано, что если население будет нечетным, то округляем в большую сторону.
🔗 Для примера, берем 99.
🔍Как мы видим, на вход может подаваться и четное и нечетное число, значит просто поделить (/ ) не получится, нужно применять (//), так как остаток отбрасывается и остается целая часть. 🧑💻Надеюсь, пока что все понятно.
Делим мысленно 99 // 2 и получаем 49 (остаток 5 отбросили).
‼️Если число нечетное, как у нас, то округляем в большую сторону, но просто прибавить 1 не получится, так как не стоит забывать про четные числа.
🔍Как мы видим, на вход может подаваться и четное и нечетное число, значит просто поделить (/ ) не получится, нужно применять (//), так как остаток отбрасывается и остается целая часть. 🧑💻Надеюсь, пока что все понятно.
Делим мысленно 99 // 2 и получаем 49 (остаток 5 отбросили).
‼️Если число нечетное, как у нас, то округляем в большую сторону, но просто прибавить 1 не получится, так как не стоит забывать про четные числа.
Если к примеру подается 1132, делим на 2 и получаем 566, число четное, округлять не надо
CodeLab
❗️Чтобы найти остаток для деления, мы пишем знак % и тут тоже нет ничего сложного. 🧑💻 Чтобы это понять, вспомним обычное деление из школы (сори за нарисованную поебень, но лучше и не объяснишь) #Деление
🔗Можно попробовать прибавить остаток от деления 99 % 2, получается 1, как мы разобрали ниже
✅ То есть разделили 99 на 2, получили 49 (остаток съебался) и прибавили 1, как раз получили 50
✅ Также делим 1132 на 2 без остатка, получили 566, число четное, остатка нет, так и остается
Над ней тоже приходилось немного подумать🧑💻, так что приступим.
🌶Тут нам придется иметь дело с отрицательными числами, о чем же речь? Начнем с того, что ❗️нам нужно определить номер купе по месту (а их по 4 штуки в 9 купешках)
🌶Тут нам придется иметь дело с отрицательными числами, о чем же речь? Начнем с того, что ❗️нам нужно определить номер купе по месту (а их по 4 штуки в 9 купешках)
⭕️ Остатки всякие нам тут не нужны, поэтому воспользуемся делением без остатка (//).
Если мы возьмем. допустим, 21 место и разделим его на 4 (количество мест в каждом купе), то выйдет 5, но ведь 21 место не в 5 купе, а в 6. ⁉️
🔗 Так во тут и применяем отрицательные числа.
✅ Берем то же самое 21 место, но перед ним ставим знак минуса (-) и также делим без остатка на 4. получаем - 6, потому что при делении отрицательных числе, округление будет идти в сторону 6, как нам и нужно.
Если мы возьмем. допустим, 21 место и разделим его на 4 (количество мест в каждом купе), то выйдет 5, но ведь 21 место не в 5 купе, а в 6. ⁉️
🔗 Так во тут и применяем отрицательные числа.
✅ Берем то же самое 21 место, но перед ним ставим знак минуса (-) и также делим без остатка на 4. получаем - 6, потому что при делении отрицательных числе, округление будет идти в сторону 6, как нам и нужно.
Новый день, так что не расслабляемся!
🧑💻Сегодня любимые циклы, тема крайне важная, так что тут попробуем расписать все поподробнее, как раз сам повторю то, что прорешал на Stepik-е.
❗️Цикл for в Python используется для перебора элементов в последовательности, пусть это будет строка или список, о списках будем говорить позже. Данный код к примеру выводит 10 приветов.
🔗 Код:
#Циклы
🧑💻Сегодня любимые циклы, тема крайне важная, так что тут попробуем расписать все поподробнее, как раз сам повторю то, что прорешал на Stepik-е.
❗️Цикл for в Python используется для перебора элементов в последовательности, пусть это будет строка или список, о списках будем говорить позже. Данный код к примеру выводит 10 приветов.
🔗 Код:
for i in range(10):
print('Привет')
#Циклы
‼️0️⃣ В данном случае, название_переменной_цикла это i. По сути можете брать любые буквы или слова, тут как вам удобнее.
1️⃣ Количество повторений в данном случае 10, но тут тоже можно поиграться. После циклов всегда ставим : и автоматически продолжаете на следующей строке с отступом. По другому эти отступы называются табуляцией. Она разделяет код на блоки (грубо говоря).
2️⃣Кстати, вместо i или других переменных цикла, можете использовать нижнее подчеркивание _ . К примеру тут, вместо i мы можем смело ставить _ . Зачем это собственно нужно⁉️ Таким образом мы обозначаем, что наша переменная дальше использоваться не будет. В этом коде мы нигде i не использовали, поэтому чтобы лишний раз не путаться, можете ставить _
1️⃣ Количество повторений в данном случае 10, но тут тоже можно поиграться. После циклов всегда ставим : и автоматически продолжаете на следующей строке с отступом. По другому эти отступы называются табуляцией. Она разделяет код на блоки (грубо говоря).
2️⃣Кстати, вместо i или других переменных цикла, можете использовать нижнее подчеркивание _ . К примеру тут, вместо i мы можем смело ставить _ . Зачем это собственно нужно⁉️ Таким образом мы обозначаем, что наша переменная дальше использоваться не будет. В этом коде мы нигде i не использовали, поэтому чтобы лишний раз не путаться, можете ставить _
✅ Простой и отличный пример для объяснения range (Это у нас количество повторений) и табуляции за одно.
0️⃣ Пишем уже родной цикл for. В данном случае имя переменной (i) не получится заменить нижним подчеркиванием (_), потому что это самое i мы будем выводить через print.
1️⃣ Дальше range(10, 0, -1). То есть дословно: 🟰 'Создаем цикл цикл i с количеством повторений 10'. Дальше скобки, в скобках видим три числа, то есть от числа будут перебираться от 10 до 0 с шагом -1. Третье значение это шаг! То есть выводом будет числа от 10 до 1 🟰
🔗 Код:
0️⃣ Пишем уже родной цикл for. В данном случае имя переменной (i) не получится заменить нижним подчеркиванием (_), потому что это самое i мы будем выводить через print.
1️⃣ Дальше range(10, 0, -1). То есть дословно: 🟰 'Создаем цикл цикл i с количеством повторений 10'. Дальше скобки, в скобках видим три числа, то есть от числа будут перебираться от 10 до 0 с шагом -1. Третье значение это шаг! То есть выводом будет числа от 10 до 1 🟰
🔗 Код:
for i in range(10, 0, -1):
print(i)
print('Hello')
❗️ То есть от 10 до 1 мы дошли, и после этого выводим Hello, так как цикл завершился