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

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
То есть разделили 99 на 2, получили 49 (остаток съебался) и прибавили 1, как раз получили 50
Также делим 1132 на 2 без остатка, получили 566, число четное, остатка нет, так и остается
Кароч, сегодня разберем следующую задачку 'номер купе' #Номер_купе
Над ней тоже приходилось немного подумать🧑‍💻, так что приступим.

🌶Тут нам придется иметь дело с отрицательными числами, о чем же речь? Начнем с того, что ❗️нам нужно определить номер купе по месту (а их по 4 штуки в 9 купешках)
⭕️ Остатки всякие нам тут не нужны, поэтому воспользуемся делением без остатка (//).

Если мы возьмем. допустим, 21 место и разделим его на 4 (количество мест в каждом купе), то выйдет 5, но ведь 21 место не в 5 купе, а в 6. ⁉️

🔗 Так во тут и применяем отрицательные числа.

Берем то же самое 21 место, но перед ним ставим знак минуса (-) и также делим без остатка на 4. получаем - 6, потому что при делении отрицательных числе, округление будет идти в сторону 6, как нам и нужно.
🟰 Без минуса, ответ будет 5

print(21 // 4) #Вывод: 5
🟰 Но стоит нам добавить минус, как -5.25 округляется до -6, как раз это нам и нужно❗️

print(-21 // 4) #Вывод: -6
Теперь стоит оформить задачу и умножить это все на минус 1, потому что отрицательных вагонов не бывает, по крайней мере у нас)

🔗 Код:

n = int(input())
print((-n//4)*(-1))
Новый день, так что не расслабляемся!

🧑‍💻Сегодня любимые циклы, тема крайне важная, так что тут попробуем расписать все поподробнее, как раз сам повторю то, что прорешал на Stepik-е.

❗️Цикл for в Python используется для перебора элементов в последовательности, пусть это будет строка или список, о списках будем говорить позже. Данный код к примеру выводит 10 приветов.

🔗 Код:

for i in range(10):
print('Привет')


#Циклы
‼️0️⃣ В данном случае, название_переменной_цикла это 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 🟰

🔗 Код:

for i in range(10, 0, -1):
print(i)
print('Hello')
‼️ Что касается табуляции, print у нас с отступом потому что находится внутри блока цикла for. Следующий же print находится с новой строки без отступов, значит выводиться он будет только после полного прохождения цикла...
❗️ То есть от 10 до 1 мы дошли, и после этого выводим Hello, так как цикл завершился
🔗 Задача 'Звездный треугольник' сложностей вызывать не должна, но давайте ее разберем хли.

#Звездный_треугольник (7.1)
⭕️ То есть, вводим число, и оно оно в соответствии с точками начинает уменьшаться. для начала введем привычные нам значения.

🔗 Код:

n = int(input())
for i in range(n):
0️⃣ Подается число n, инструкция - (int), это обязательно, так как это число целое!

1️⃣ А дальше любимый цикл.‼️Напомню, что, если мы собираемся обращаться к переменной цикла, а у нас это i, то переменная обязательно пишется. Если нет, то просто ставим _ . То есть, для переменной i в диапазоне n (диапазон это range), выполняется следующее:
Сейчас буду объяснять, что мы тут сделали 🧑‍💻

n = int(input())
for i in range(n):
print((n - i) * '*')
0️⃣ Для начала, вспомним, как вообще работает i.

1️⃣🔗 Наш цикл for перебирает 11 чисел и выводит каждое последовательно

for i in range(11):
print(i)
2️⃣ Возвращаемся к нашему коду.

🟰 Допустим, вводим 11.

3️⃣ Наш цикл будет перебирать эти 11 чисел и для каждого числа от 0 до 10 будет выполняться условие. Из 11 будет вычитаться i и умножаться на звездочку.

4️⃣ То есть, сначала i у нас будет обычным ноликом. Из 11 вычитаем 0, получаем ниуя. Значит выводим 11 звездочек. Затем i будет равно 1, из 11 вычитаем 1, получаем 10, выводится 10 звездочек
и так далее...

Задача решена

🔗 Код:

n = int(input())
for i in range(n):
print((n - i) * '*')
🧑‍💻 Сегодня разбираем Популяцию, задачу 7.1 (заупа, а не задача, в тот момент голову себе сломал)

🔗 Подается нам, значит, ❗️ три числа, m - количество организмов, p - это именно увеличение в процентах, а n количество дней #Популяция
🔗 Задача у нас про циклы, поэтому обозначаем диапазон (это range если че) в виде n, то есть перебор чисел у нас будет по числу дней

m = int(input())
p = int(input())
n = int(input())
for i in range(n):