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

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
🟰 Но стоит нам добавить минус, как -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):
Эту крутецкую формулу находим в кометах и она по факту работает.

0️⃣ Допустим, p = 25 процентам, делим на 100, получаем 0.25.

1️⃣ Дальше умножаем на m (Пусть она будет равна 120);

2️⃣ Получаем 30 и прибавляем снова к m и получаем 150;

То есть 150 это наш прирост популяции.
Теперь наш код выглядит так;

⭕️ В функцию print мы пишем i + 1, потому что речь у нас про дни, нулевых дней, к удивлению, не бывает( Поэтому начинаем отсчет дней с единицы.

🔗Код:

m, p, n = int(input()), int(input()), int(input())
for i in range(n):
print(i + 1, m)
m = m + p / 100 * m
А работает он так:

0️⃣ 🟰(Допустим, мы ввели такие значения : m = 10, p = 50, n = 6) 🟰

1️⃣ Сначала происходит первая итерация цикла: I = 0, функция print выводит
( 1, 10 )


2️⃣ Как только функция print выводит значения, переменная m обновляет свое значение ‼️по формуле: m = 10 + 50 / 100 * m (Переменная m равна теперь 15).‼️

3️⃣ Не думаю, что стоит расписывать все 6 итераций ‼️(у нас количество дней для размножения - 6 если че, поэтому итераций цикла 6 ). Давайте еще итерацию, суть вы уже поймете.

🔗❗️Итак, вторая итерация, i теперь равно 2, функция print выводит (2, 15.0)

4️⃣ Наша формула снова 'обновляется', теперь m = 15 + 50 / 100 * m (Теперь m = 22.5). Мы разобрали две итерации, суть, как по мне, понятна 🧑‍💻
🔗 Теперь думаете вы.

🧑‍💻 Две задачи, меняется лишь то, где находится print
🔗Код:

s = 30
for k in range (5):
s = s - 3
print(s)
Что выводит данный код?
Anonymous Quiz
0%
3
50%
15
0%
0
25%
5
25%
10
1