2️⃣🖇 Модель 2 (Грокнем ее)
Теперь книга нам предлагает капнуть глубже...
z понедельник — полезное;
z вторник — полезное;
z суббота — спам;
z воскресенье — спам;
z воскресенье — спам;
z среда — полезное;
z пятница — полезное;
z суббота — спам;
z вторник — полезное;
z четверг — полезное.
ХАХААХАХХА не знаю почему скопировалось Z, но пусть будет )
👨💻 Давайте посерьезнее, итак, у нас теперь инфы побольше! Теперь мы знаем, что по будням нам присылают рабочую почту, а по выходным — 🔞.
🔗 Перейдем к модели, и допустим, сегодня вторник. а это значит, что, с большей вероятностью — это полезное письмо.
Теперь книга нам предлагает капнуть глубже...
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 Кбайт — полезное;
2 Кбайт — полезное;
16 Кбайт — спам;
20 Кбайт — спам;
18 Кбайт — спам;
3 Кбайт — полезное;
5 Кбайт — полезное;
25 Кбайт — спам;
1 Кбайт — полезное;
3 Кбайт — полезное
⭕️ Похоже, большие письма являются спамом, потому что содержат большие вложения, мелкие письма — зачастую полезные.
⭕️ Формулируем следующее: если письмо больше 10 кб — спам, меньше — что-то полезное от кореша.
🧑💻 Теперь сам прогноз: если кент прислал письмо на почту, вес у него, килобайт 15, значит, скорее всего, письмо — спам.
‼️ В нашем примере, день недели и размер письма были признаками (Запоминаем че это) ↓
‼️ПРИЗНАК — любое свойство или характеристика данных, которые модель может применять для прогнозирования
🤡1
🧑💻 Два классификатора, которые у нас получились, хороши по-своему, но есть недостатки...
❗️ Модель 4 предполагала бы, что письмо, отправленное в выходные и имеющее вес больше 10 Кбайт — SCAM, в противном случае — полезное.
❗️ Модель 5 предполагала бы, что, если письмо, отправлено в течение недели — должно быть не больше 15 Кбайт, чтобы не попасть в категорию спама. Если письмо отправлено на выходных, то оно должно быть больше 5 Кбайт, чтобы попасть в категорию спама. В противном случае — письмо вайб + кайф
❗️ Модель 4 предполагала бы, что письмо, отправленное в выходные и имеющее вес больше 10 Кбайт — SCAM, в противном случае — полезное.
❗️ Модель 5 предполагала бы, что, если письмо, отправлено в течение недели — должно быть не больше 15 Кбайт, чтобы не попасть в категорию спама. Если письмо отправлено на выходных, то оно должно быть больше 5 Кбайт, чтобы попасть в категорию спама. В противном случае — письмо вайб + кайф
🤡1
🔗 Последовательность чисел 1 (7.2)
Ща одну задачку быстренько разберем и я спать. На минуточку, уже раздел 7.2!
⭕️ Все как обычно, два int(input) и пишем цикл for.
⭕️ Подается два числа:
Первое число — переменная для 'начала', вторая — для 'конца', но обязательно, второй аргумент должен быть включительным, поэтому +1
Ща одну задачку быстренько разберем и я спать. На минуточку, уже раздел 7.2!
⭕️ Все как обычно, два int(input) и пишем цикл for.
⭕️ Подается два числа:
Первое число — переменная для 'начала', вторая — для 'конца', но обязательно, второй аргумент должен быть включительным, поэтому +1
m, n = int(input()), int(input())
for i in range(m, n + 1):
print(i)
👍1
Последовательность чисел 3🌶
Ща разберем задачку на ночь и надо спать ложиться 👀
0️⃣🧑💻 Вводим привычную уже херню и думаем че дальше...
1️⃣ У нас в условии сказано, что m > n, это мы и пишем в первое условие:
2️⃣⭕️ Теперь можно и цикл прописать. (напоминаю, там три аргумент — start, stop, step ).
‼️ Нам нужно вывести такую последовательность, чтобы были только нечетные числа + числа должны идти от большего к меньшему.
🌶 И получается такой вот код:
Ща разберем задачку на ночь и надо спать ложиться 👀
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
🧑💻 Ща еще разберем некоторые решения, как раз нам нужно без условного оператора что-то найти 👁🗨
Вот такой код я украл у разрабов курса, че тут происходит ⁉️
0️⃣ Допустим, подается 6 и -1, это мы запоминаем 🧑💻
1️⃣ 🔗 Теперь, переменная start, и если мы подставим 6, то получается: ‼️ start = ((6-1) // 2) * 2 + 1 (Короче, если мы подадим четное число, эта формула сделает его нечетным, а если введем нечетное — то ничего 👀)
2️⃣⚙️ Ну и прописываем цикл for, а аргументом для старта делаем переменную start
UPD: Выводом будет: 5 3 1 -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, можете сами попробовать:
🖇 Пока вроде все ясно, но зач нам четные числа, когда нам нужны нечетные??? Именно поэтому выводим в функции print следующее:
Берем снова шестерку, вычитаем 1 и прибавляем результат деления по модулю 6 от 2, (Это вот так ес че 6 % 2), получается 5, то что нам и нужно! На первой итерации i = 6, а выводит 5 (Уже объяснил почему), на второй итерации i = 4 ( Потому что у нас шаг -2 ), а вывод будет 3 и так далее до -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 данных условия (хотя бы одному наш код должен удовлетворять)
Ну и, собственно, код:
🤷♂️ Даже и не знаю, какие комментарии можно дать, оператор or мы знаем, как писать условия тоже знаем, почему диапазон от m до n + 1 тоже знаем (если забыли вдруг, у нас индексация с 0, поэтому + 1)
По сравнению с прошлыми заданиями, эта прям намного проще,⭕️ просто прописываем условный оператор 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)
👀 Так, покатали яйца денек, можно и за работу
🧑💻 Начнем с тестов, уж больно давно их не было, чисто на разминку:
#1
🧑💻 Начнем с тестов, уж больно давно их не было, чисто на разминку:
#1
count = 0
for i in range(4):
for j in range(2):
count += 1
print(count)
👀2
👨💻2
#5 Ну, и последний пример чисто для раздумья вам (Тут будут выводится пары чисел, но ответить надо на другой вопрос)
for i in range(5):
for j in range(i):
if i == 3:
break
print(i, j)