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

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
Python: "Поколение Python": курс для начинающих. Ссылки на другие посты смотрите ниже, Базовые знания в отдельном посте, но многие темы разобраны по заданиям ниже.👇🏿


Задания не с курса:

🔗 Сумма чисел


‼️Целочисленная арифметика:

Сама Неотвратимость 2.5
Номер купе 2.5

‼️Задача из бесплатного курса Яндекс:

Шарики и ручки

‼️Условный оператор:

🔗Выбор из двух

Пароль 4.1
Четное или нечетное 4.1
Соотношение 4.1
Наименьшее из 4 чисел 4.1
Только Плюсы 4.1

🔗Логические операции

Принадлежность 3 (4.2)

Красивое число 4.2
Високосный год 4.2
Ход ладьи 4.2
Ход короля 4.2🌶

🔗Вложенные и каскадные условия

Вид треугольника 4.3
Серединное число 4.3
Количество дней 4.3
Самописный калькулятор 4.3
Пересечение отрезков 4.3🌶🌶

🔗Итоговая работа

Начало столетия 5.1
Шахматная доска 5.1
Шахматная доска 5.1 (обновленный)
Римские цифры 5.1
Ход слона 5.1 🌶
Ход коня 5.1
Ход ферзя 5.1

🔗Числовые типы данных: int, float

Две старушки 6.1
Обратное число 6.1
451 градус по Фаренгейту 6.1
Dog age 6.1
Первая цифра после точки 6.1
Сортировка трех 6.1
Наибольшее и наименьшее 6.1
Дробная часть 6.1
Дробная часть 6.1 (Еще одно решение)
Интересное число 6.1
Абсолютная сумма 6.1
Манхэттенское расстояние 6.1

🔗Строковый тип данных:

Тройные кавычки 6.2

Футбольная команда 6.2
Три города 6.2
Арифметические строки 6.2
Корректный email 6.2

🔗 Модуль math:

Евклидово расстояние 6.3
Площадь и длина 6.3
Средние значения 6.3
Тригонометрическое выражение 6.3
Пол и потолок 6.3
Квадратное уравнение 🌶🌶 (Второй способ)
Правильный многоугольник

🔗 Циклы
for и while:

🧑‍💻Введение

Python is awesome (7.1)
Повторяй за мной 1 (7.1)
Последовательность символов (7.1)
Звездный прямоугольник (7.1)
Повторяй за мной 2 (7.1)
Квадрат числа (7.1)
Звездный треугольник 7.1
Звездный треугольник 7.1 (обновленный)
Популяция 7.1

🔗 Цикл for: (функция range):

Последовательность чисел 1 (7.2)
Последовательность чисел 2 (7.2) 🌶
Последовательность чисел 3 (7.2) 🌶 (Еще одно решение) 🌶 (И еще одно решение)
Последовательность чисел 4 (7.2)
Таблица умножения (7.2)

https://stepik.org/course/58852/syllabus — КУРС, КОТОРЫЙ МЫ ПРОХОДИМ

‼️🔗 Python: "Поколение Python": курс для начинающих (часть 2).Курс с остальными заданиями 🧑‍💻
Задание #Интересное_число (6.1). Итак, разница максимальной и минимальной ровнялась средней по величине цифре, давайте делать 👨‍💻
‼️Кароч, нам же подается число, значит его нужно разбить на цифры, чтобы их сравнивать.

0️⃣Допустим, подается число 123: первым действием целочисленным делением находим первую цифру;
1️⃣цифру посередине находим сначала целочисленным делением на 10, получаем 12, а затем это ебанное 12 делим по модулю на 10 и получаем 2.
2️⃣Ну и третье число, просто делим по модулю на 10, получаем 3. Не ебу зачем я это вам расписывал, но будете знать зато. Теперь вводим доп переменные x_max для нахождения максимальной цифры и аналогично с x_min. Еще мы ввели переменную s_average для нахождения серединной цифры, мы уже с вами разбирали как это находить, просто из суммы всех цифр вычитаем макс и мин. Ну и в самом конце вводим условие и задача решена. #Интересное_число

🔗Готовый код:

num = int(input())
a = num // 100
b = num // 10 % 10
c = num % 10
x_max = max(a,b,c)
x_min = min(a,b,c)
x_average = ((a+b+c) - max(a,b,c) - min(a,b,c))
if x_max - x_min == x_average:
print("Число интересное")
else:
print("Число неинтересное")
❤‍🔥1
Еще одно решение разберем. его я естественно позаимствовал с коментов, щас будем чекать:

❗️Подается нам строка, а функция list(input()) преобразует строку в список, то есть та же строка '123' будет представлена как ['1', '2', '3']. ⭕️⭕️

⭕️Функция max(n) находит максимальный символ в списке n, максимальным будет 3, вычитаем минимальный - 1.

⭕️Функции 🟰int(max(n)) и int(min(n))🟰 преобразуют эти символы в целые числа, затем выполняется вычитание, получаем 2, а вот str() преобразует обратно в строку, так как у нас еще есть оператор in, который нужен для проверки того, содержится ли строка в списке строк. В общем как то так

🔗Готовый код:

n = list(input())
if str(int(max(n)) - int(min(n))) in n:
print("Число интересное")
else:
print("Число не интересное")
❤‍🔥1
❤‍🔥1
a = float(input())
b = float(input())
c = float(input())
d = float(input())
e = float(input())

print(abs(a) + abs(b) + abs(c) + abs(d) + abs(e))


#Абсолютная_сумма. Смарите, тут ниче сложного, просто вводим 5 int(input()) и складываем их модули через функцию abs. #abs
p1 = int(input())
p2 = int(input())
q1 = int(input())
q2 = int(input())
print(abs(p1 - q1) + abs(p2 - q2))


#Манхетонское_расстояние Аналогичная по сложности задача, читаем условие, переписываем формулу для нахождения этого самого расстояния и готово, саму функцию abs мы с вами разбирали.
⚙️ Навигация по алгоритмам: (книга Адитьи Бхаргавы 'Грокаем Алгоритмы'): big(O), Tsp, а также разбор интересных тем, например, почему 0.1 + 0.1 != 0.2...Ниже также будут посты с подтемами.

🧑‍💻(Большой материал):


🔗Связанные списки и массивы (отдельный пост)🔗

🖇 Big(O) и бинарный поиск 🖇

🌶 TSP - Задача про коммивояжера 🌶

🟰Проблема чисел с плавающей точкой🟰

⚙️ Алгоритм сортировки выбором ⚙️

__________________________________

🟰Н А В И Г А Ц И Я🟰
Я вам закинул гига чед навигацию, теперь можете искать свои любимые и нелюбимые задания и темы по ссылкам, в крайнем случае можете искать по хештегам или через набор в поиске, желаю удачного прочтения, скоро тут будет выходить Machine learning, в этом я еще полный 0, но всему свое время, щас будет 6.2 на Stepik
‼️Навигация‼️
👨‍💻1
Строковый тип данных мы уже с вами разбирали, но давайте повторим:

⭕️мы можем найти длину строки с помощью ❗️len()
 fruits = ['Bananas', 'Apples', 'Mangoes', 'Pear']
print(len(fruits)) #Вывод- 4

⭕️можем сложить их, это называется ❗️конкатенацией,
string1 = "Hello "
string2 = "world!"
print(string1 + string2) #Вывод:Hello world!

⭕️ также мы можем воспользоваться sep() - это разделитель, к примеру, аргумент \n в разделителе sep() нужен для переноса строки. В целом sep это это аргумент функции print(), который определяет, что будет вставлено между элементами‼️
print('a', 'b', 'c', 'd', sep='\n')  # \n перенесет каждое слово на новую строку

print('a', 'b', 'c', 'd', sep=', ') #Вывод: a, b, c, d

⭕️Аргумент end задает то, что будет добавлено в конце строки после вывода всех элементов.

‼️По умолчанию end='\n', что означает перенос строки. Если вы хотите, чтобы после вывода не было переноса строки, а, например, стояла запятая, то можно указать end=','
print('Hello', end=', ')
print('world') #Вывод: Hello, world


‼️Разница этих двух только в том, что sep — это разделитесь между элементами вывода, а end — это разделитесь самих выводов разных функций print().

Вот наглядная разница:
print('A', 'B', 'C', sep='-', end='$')
print('D') #Вывод: A-B-C$D

#sep #end #len
end()
len()
конкатенация строк
'''Тройные кавычки в данном случае используются для многострочного (multiline) текста.🔗

Вот еще пример:

'''Это многострочная строка. Это её первая строка.
Это её вторая строка.
"What's your name?", - спросил я.
Он ответил: "Bond, James Bond."
'''
print('"Python is a great language!"' + ', ' + 'said Fred. ' + '''"I don't ever remember having this much fun before."''')


⭕️При конкатенации можем заметить использовании тех самых тройных кавычек, то есть, используем, когда нам нужно показать двойные или одинарные кавычки. #Конкатенация_строк🧑‍💻
🤯1
#Футбольная_команда 6.2. Давайте решим задачу через f строки. Внутри f-строки в паре фигурных скобок указываются имена переменных, которые надо подставить:

Для начала посмотрите пример:

‼️То есть, создаем две переменные (ip) и (mask), в функции print мы пишем литерал строки " с буквой f перед ним. Внутри f-строки в паре фигурных скобок указываются имена переменных, которые надо подставить.
ip = '10.1.1.1'
mask = 24

print(f"IP: {ip}, mask: {mask}") #Вывод: IP: 10.1.1.1, mask: 24


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

⭕️Если необходимо подставить другие значения, надо создать новые переменные (с теми же именами) и снова написать f-строку.

🔗Решение задачи:

num = input()
dlina = len(num)
print(f'Футбольная команда {num} имеет длину {dlina} символов')
👨‍💻1
Разбираем задание также в разделе 6.2 #Три_города.

0️⃣ Для начала, введем переменные для всех трех городов:

first = input()
second = input()
third = input()


1️⃣❗️ Сравним минимальную длину одного из введенных городов с каждым из городов, если, к примеру, из всех трех, самое короткое слово это название первого города - то его и выводим:

if min (len(first), len(second), len(third)) == len(first):
print(first)
elif min (len(first), len(second), len(third)) == len(second):
print(second)
else:
print(third)


2️⃣❗️ Аналогично с максимальной длиной среди всех городов:

if max (len(first), len(second), len(third)) == len(first):
print(first)
elif max (len(first), len(second), len(third)) == len(second):
print(second)
else:
print(third)
👨‍💻2
CodeLab
👨‍💻 Иииитак, вчера я ничего не делал, щас буду рассказывать про хранение памяти в компьютере, как раз это свяжем с проблемой чисел с плавающей точкой, поэтому постарайтесь все внимательно прочитать‼️ ⭕️ Для хранения одной ячейки информации в памяти используется…
Итак, я уже рассказывал на базовом уровне как работает память, хотя можно будет как-нибудь сделать об этом отдельный пост. В чем же суть?

🧑‍💻 Речь пойдет про сортировку выбором, а про память мы еще поговорим. Я вам уже говорил что память можно представить в виде ячеек памяти. В книге, автор говорит о памяти, как о гардеробе, в каждую ячейку которого, помещается ровно один предмет, для хранения трех вещей, нам потребуется выделить три ящика. Каждая такая ячейка имеет свой уникальный адрес, про это я уже рассказывал. Когда мы хотим сохранить какую-нибудь темку, мы запрашиваем у компьютера место в памяти и он нам выдает адрес для сохранения, а если мы захотим сохранить несколько элементов, это можно сделать с помощью связанных списков или массивов. #Память #Связанные_списки #Массивы
Допустим, мы хотим сохранить список дел на сегодня, сначала попробуем сохранить наши, допустим, 3 задачи в массиве.
Ща вам расскажу в чем суть массива.

Итак, в массиве все задачи хранятся в памяти непрерывно, то есть, у нас есть структура данных (Массив), состоящая из фиксированного числа элементов, а расположены элементы в смежных ячейках (Идут друг за другом), периодически буду приводить примеры из книги.
Также стоит сказать, что элементы массива имеют индекс, по которому к ним можно быстро получить доступ, об этом еще поговорим. #Память #Связанные_списки #Массивы
🥰2