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

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
🔗 Для примера, берем 99.

🔍Как мы видим, на вход может подаваться и четное и нечетное число, значит просто поделить (/ ) не получится, нужно применять (//), так как остаток отбрасывается и остается целая часть. 🧑‍💻Надеюсь, пока что все понятно.

Делим мысленно 99 // 2 и получаем 49 (остаток 5 отбросили).

‼️Если число нечетное, как у нас, то округляем в большую сторону, но просто прибавить 1 не получится, так как не стоит забывать про четные числа.
Если к примеру подается 1132, делим на 2 и получаем 566, число четное, округлять не надо
Если все объединить, получается: 🔗

a = int(input())
print (a//2 + a%2)
То есть разделили 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) * '*')