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

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
2️⃣🖇 Модель 2 (Грокнем ее)

Теперь книга нам предлагает капнуть глубже...

z понедельник — полезное;
z вторник — полезное;
z суббота — спам;
z воскресенье — спам;
z воскресенье — спам;
z среда — полезное;
z пятница — полезное;
z суббота — спам;
z вторник — полезное;
z четверг — полезное.


ХАХААХАХХА не знаю почему скопировалось Z, но пусть будет )

👨‍💻 Давайте посерьезнее, итак, у нас теперь инфы побольше! Теперь мы знаем, что по будням нам присылают рабочую почту, а по выходным — 🔞.

🔗 Перейдем к модели, и допустим, сегодня вторник. а это значит, что, с большей вероятностью — это полезное письмо.
🤡3
🔗3️⃣ Теперь усложняем, модель 3.

⭕️ Нас встречает наш кент и говорит, что мы не пришли не его день рождения (обидно). Как оказалось, эта плешь присылала всем приглашения в воскресенье! А у нас на воскресенье, как и на другие выходные стоит блок по сообщениям (По любому скамеры пишут) Для начала, возвращаемся к стадии вспоминания, когда нам присылали сообщения.

🔗 Дальше, книга предлагает такой вариант:

1 Кбайт — полезное;
2 Кбайт — полезное;
16 Кбайт — спам;
20 Кбайт — спам;
18 Кбайт — спам;
3 Кбайт — полезное;
5 Кбайт — полезное;
25 Кбайт — спам;
1 Кбайт — полезное;
3 Кбайт — полезное


⭕️ Похоже, большие письма являются спамом, потому что содержат большие вложения, мелкие письма — зачастую полезные.

⭕️ Формулируем следующее: если письмо больше 10 кб — спам, меньше — что-то полезное от кореша.

🧑‍💻 Теперь сам прогноз: если кент прислал письмо на почту, вес у него, килобайт 15, значит, скорее всего, письмо — спам.


‼️ В нашем примере, день недели и размер письма были признаками (Запоминаем че это) ↓

‼️ПРИЗНАК — любое свойство или характеристика данных, которые модель может применять для прогнозирования
🤡1
🧑‍💻 Два классификатора, которые у нас получились, хороши по-своему, но есть недостатки...

❗️ Модель 4 предполагала бы, что письмо, отправленное в выходные и имеющее вес больше 10 Кбайт — SCAM, в противном случае — полезное.

❗️ Модель 5 предполагала бы, что, если письмо, отправлено в течение недели — должно быть не больше 15 Кбайт, чтобы не попасть в категорию спама. Если письмо отправлено на выходных, то оно должно быть больше 5 Кбайт, чтобы попасть в категорию спама. В противном случае — письмо вайб + кайф
🤡1
🔗 Последовательность чисел 1 (7.2)

Ща одну задачку быстренько разберем и я спать. На минуточку, уже раздел 7.2!


⭕️ Все как обычно, два int(input) и пишем цикл for.

⭕️ Подается два числа:

Первое число — переменная для 'начала', вторая — для 'конца', но обязательно, второй аргумент должен быть включительным, поэтому +1
m, n = int(input()), int(input())

for i in range(m, n + 1):
print(i)
👍1
Последовательность чисел 3🌶

Ща разберем задачку на ночь и надо спать ложиться 👀


0️⃣🧑‍💻 Вводим привычную уже херню и думаем че дальше...

m = int(input())
n = int(input())


1️⃣ У нас в условии сказано, что m > n, это мы и пишем в первое условие:

if m > n:


2️⃣⭕️ Теперь можно и цикл прописать. (напоминаю, там три аргумент — start, stop, step ).

‼️ Нам нужно вывести такую последовательность, чтобы были только нечетные числа + числа должны идти от большего к меньшему.

🌶 И получается такой вот код:


m = int(input())
n = int(input())
if m > n:
for i in range(m, n - 1, -1):
if i % 2 != 0:
print(i)
👍1
🧑‍💻 Ща еще разберем некоторые решения, как раз нам нужно без условного оператора что-то найти 👁‍🗨

m, n = int(input()), int(input())

start = ((m - 1) // 2) * 2 + 1

for i in range(start, n - 1, -2):
print(i)


Вот такой код я украл у разрабов курса, че тут происходит ⁉️

0️⃣ Допустим, подается 6 и -1, это мы запоминаем 🧑‍💻

1️⃣ 🔗 Теперь, переменная start, и если мы подставим 6, то получается: ‼️ start = ((6-1) // 2) * 2 + 1 (Короче, если мы подадим четное число, эта формула сделает его нечетным, а если введем нечетное — то ничего 👀)

2️⃣⚙️ Ну и прописываем цикл for, а аргументом для старта делаем переменную start

UPD: Выводом будет: 5 3 1 -1
Еще одно решение с комментов, своего я придумать ничего не могу...

🧑‍💻 Подается снова 6 и - 1, цикл будет перебирать от 6 до -1 (не включительно) с шагом -2. ‼️ Важно понимать, на данном этапе нам код выведет: 6 4 2 0, можете сами попробовать:

m, n = int(input()), int(input())
for i in range(m, n, -2):
print(i)


🖇 Пока вроде все ясно, но зач нам четные числа, когда нам нужны нечетные??? Именно поэтому выводим в функции print следующее:

print(i - 1 + i % 2)


Берем снова шестерку, вычитаем 1 и прибавляем результат деления по модулю 6 от 2, (Это вот так ес че 6 % 2), получается 5, то что нам и нужно! На первой итерации i = 6, а выводит 5 (Уже объяснил почему), на второй итерации i = 4 ( Потому что у нас шаг -2 ), а вывод будет 3 и так далее до -1...

🔗 Код:

m, n = int(input()), int(input())
for i in range(m, n, -2):
print(i - 1 + i % 2)
🤡1
🧑‍💻 Так, Последовательность чисел 4 (7.2),

По сравнению с прошлыми заданиями, эта прям намного проще,⭕️ просто прописываем условный оператор if и учитываем 3 данных условия (хотя бы одному наш код должен удовлетворять)

Ну и, собственно, код:

m = int(input())
n = int(input())
for i in range(m, n + 1):
if i % 17 == 0 or i % 10 == 9 or (i % 3 == 0 and i % 5 == 0):
print(i)


🤷‍♂️ Даже и не знаю, какие комментарии можно дать, оператор or мы знаем, как писать условия тоже знаем, почему диапазон от m до n + 1 тоже знаем (если забыли вдруг, у нас индексация с 0, поэтому + 1)
Итак, мы почти доделали 7.2!!!

🧑‍💻 Задание Таблица умножения (7.2), ща быстро напишем и гоу дальше

a = int(input())
for i in range(1, 11):
print(f' { a} x {i} = {a * i}')
Всем споки
👀2🥰1🤡1
👀 Так, покатали яйца денек, можно и за работу

🧑‍💻 Начнем с тестов, уж больно давно их не было, чисто на разминку:

#1

count = 0
for i in range(4):
for j in range(2):
count += 1
print(count)
#1 Что напечатает следующий код?
Anonymous Quiz
0%
4
60%
8
0%
6
20%
12
20%
16
👀2
🟰На всякий🟰
Forwarded from CodeLab
#Continue #break #pass ‼️Вот вам неплохая шпора для понимая разницы этих трех операторов ‼️
#2

i = 0
while i < 5:
i += 1
if i == 3:
continue
print(i)
👨‍💻2
#3

for i in range(3):
for j in range(i):
print(j, end=" ")
#3 Что выведет код?
Anonymous Quiz
14%
0 1 2
0%
0 1 1
14%
1 2 3
0%
0 1
71%
0 0 1
#4

sum = 0
i = 1
while i <= 10:
if i % 3 == 0:
sum += i
i += 1
print(sum)
#4 Что выведет код?
Anonymous Quiz
0%
12
29%
16
29%
18
14%
16
29%
ничего
0%
15