🤯2
CodeLab
#8 ❗️Тут вложенный цикл, можете просто немного подумать, вечером и постараюсь разобрать как они работают. 🔗Код: total = 0 for i in range(1, 5): for j in range(i): total += j print(total)
Итак, касаемо этого кода, тут вложенный цикл❗️
👨💻 Кстати, я уже подготовил вам еще пару тестов по вложенным циклам, но их выложу мб завтра или послезавтра, дел у нас полно.
0️⃣Для начала объявляем переменную total = 0, которая будет служить нам счетчиком.
1️⃣Далее, идет внешний цикл, который проходит по всем значениям i от 1 до 4 включительно. Тут будем разбирать по очереди, для кого вдруг непонятно, как работает вложенный цикл.
2️⃣Первая итерация внешнего цикла (i у нас будет равно 1), дак вот для этой первой итерации, будет происходить первая итерация внутреннего цикла (j = 0).
🔗Прикреплю вам фоточку, чтобы было понятнее. #Вложенные_циклы
Код:
👨💻 Кстати, я уже подготовил вам еще пару тестов по вложенным циклам, но их выложу мб завтра или послезавтра, дел у нас полно.
0️⃣Для начала объявляем переменную total = 0, которая будет служить нам счетчиком.
1️⃣Далее, идет внешний цикл, который проходит по всем значениям i от 1 до 4 включительно. Тут будем разбирать по очереди, для кого вдруг непонятно, как работает вложенный цикл.
2️⃣Первая итерация внешнего цикла (i у нас будет равно 1), дак вот для этой первой итерации, будет происходить первая итерация внутреннего цикла (j = 0).
🔗Прикреплю вам фоточку, чтобы было понятнее. #Вложенные_циклы
Код:
total = 0
for i in range(1, 5):
for j in range(1):
🤯2
То есть, пока i внешнего цикла будет равно 1, будет происходить одна итерация внутреннего, то есть 0, 3️⃣ затем по нашему коду, этот самый ноль суммируется со счетчиком total, который будет также равен 0.
4️⃣Затем идет вторая итерация внешнего цикла, i = 2. Значит внутренний цикл j будет проходить по всем значением от 0 до 2 (не включительно). 🧑💻 надеюсь, вы суть немного уловили. total, который уже равен 0 от первой итерации, будет сначала также прибавлять 0 а затем 1 (это уже на второй итерации).
4️⃣Затем идет вторая итерация внешнего цикла, i = 2. Значит внутренний цикл j будет проходить по всем значением от 0 до 2 (не включительно). 🧑💻 надеюсь, вы суть немного уловили. total, который уже равен 0 от первой итерации, будет сначала также прибавлять 0 а затем 1 (это уже на второй итерации).
🤯2
⭕️ На данном этапе total у нас равен 1 и тут 5️⃣ происходит третья итерация внешнего цикла i, i принимает значение 3, следовательно, внутренний цикл будет проходить по всем значениям j от 0 до 3 (не включительно).
6️⃣Сначала total также прибавляет 0, затем 1 и становится равным 2 (он уже был равен 1 ес че), 7️⃣затем еще прибавляет 2.
8️⃣По итогу, по окончанию 3 итерации внешнего цикла i, total = 4.
9️⃣Ну и последняя, четвертая итерация внешнего цикла i. total = 4, затем счетчик прибавляет 1, затем 2, затем 3 и получается ответ 10.‼️
6️⃣Сначала total также прибавляет 0, затем 1 и становится равным 2 (он уже был равен 1 ес че), 7️⃣затем еще прибавляет 2.
8️⃣По итогу, по окончанию 3 итерации внешнего цикла i, total = 4.
9️⃣Ну и последняя, четвертая итерация внешнего цикла i. total = 4, затем счетчик прибавляет 1, затем 2, затем 3 и получается ответ 10.‼️
👀1
‼️По итогу, каждая итерация внешнего цикла по i, будет выводить такой total.
Если вы не очень понимаете вложенные циклы, то можете, например, представить свои покупки. 0️⃣ Допустим, вы пришли в какой-нибудь молл. 1️⃣Там вы купили несколько товаров в отделе бытовой техники, несколько товаров из магазинов одежды, а также несколько товаров какой то ненужной хуеты.
✅И просто представьте, что вы проходитесь по каждому товару из бытовой техники, затем по каждому товару из магазина одежды и по каждому товару какого нибудь другого магаза. Я надеюсь, объяснил понятно
🟰Внешний цикл проходит по категориям товаров.
🟰🟰Внутренний цикл проходит по каждому товару в текущей категории.
Если вы не очень понимаете вложенные циклы, то можете, например, представить свои покупки. 0️⃣ Допустим, вы пришли в какой-нибудь молл. 1️⃣Там вы купили несколько товаров в отделе бытовой техники, несколько товаров из магазинов одежды, а также несколько товаров какой то ненужной хуеты.
✅И просто представьте, что вы проходитесь по каждому товару из бытовой техники, затем по каждому товару из магазина одежды и по каждому товару какого нибудь другого магаза. Я надеюсь, объяснил понятно
🟰Внешний цикл проходит по категориям товаров.
🟰🟰Внутренний цикл проходит по каждому товару в текущей категории.
👨💻2
Да кто эти ваши инт и флот⁉️
🧑💻 Они частенько у нас фигурировали в прошлых задачах. Они, то есть #типы_данных, используются для представления целых чисел (int) и чисел с плавающей точкой (float).
Код:
Не думаю, что стоит еще раз описывать что можно делать с целыми числами и числами с плавающей точкой, хотя, мы можем вот так вот преобразовывать типы данных.
‼️И еще момент, округление чисел с плавающей точкой в целое производится с округлением в сторону нуля, будто то отрицательно число или положительное (2 картинка)
Код:
🧑💻 Они частенько у нас фигурировали в прошлых задачах. Они, то есть #типы_данных, используются для представления целых чисел (int) и чисел с плавающей точкой (float).
Код:
a = 18
print(float(a))
#18
c = 1.345
print(int(c))
#1
Не думаю, что стоит еще раз описывать что можно делать с целыми числами и числами с плавающей точкой, хотя, мы можем вот так вот преобразовывать типы данных.
‼️И еще момент, округление чисел с плавающей точкой в целое производится с округлением в сторону нуля, будто то отрицательно число или положительное (2 картинка)
Код:
print(int(1.8)) #1
print(int(-1.8)) #-1
Кстати, теперь вы можете обращаться к тегам в закрепленном сообщении, чтобы найти нужное задание или статью(которые будут в будущем), закреп будет постоянно обновляться
🤯1
Над тем, что вы дальше прочитаете, уже можно поразмыслить 🕐
Мы как то уже разбирали контент Адитьи Бхаргавы, я сообщение вам прикреплю. Будет лучше, если вы прочтете, что я там писал.
✅Там если что было про бинарный поиск, big(O) (это если че скорость выполнения алгоритмов, то насколько быстро возрастает время выполнения алгоритма с увеличением входных данных). Также мы с вами разобрали несколько основных разновидностей big(O), но будет лучше если вы это прочитаете сами.
Перед следующей главной идет разбор задачки о коммивояжере (TSP - traveling Salesman Problem) и конечно же блять мне стало интересно.⁉️ Это, наверное, самая известная задача о графах. В чем собственное суть⁉️
⭕️Вообще, в книге написано об этом не так много: у нас есть, допустим, чел👨💻, который решил посетить 5 городов (5 городов просто условность, пунктов может быть бесконечно много). Этот самый чел (коммивояжер) хочет заехать в каждый город, а некоторые источники трактуют, что он еще должен заехать обратно, но не суть. У нас известны длины дорог, которые соединяют города. Нам нужно найти кратчайший маршрут этого самого чела. Автор книги пишет, что одним из возможных решений будет являться перебор всех возможных комбинаций порядка объезда городов.
⭕️В нашем случае, поскольку городов - 5, количество перестановок будет 120, поскольку 5! = 120. ‼️Очень важный момент, 120 это не ответ, это именно количество перестановок, перестановки в данном случае это наши операции.
❗️Теперь вкратце: у нас из каждого города есть доступ в другой город, допустим от 1 города до второго - 150 км и так далее... (об этом тоже поговорим), также мы можем вычислить количество операций, в нашем случае городов 5, значит и перестановок будет 5! = 120. На этом этапе, я обратился к ChatGPT, отправил промт и он очень хорошо ответил. Ниже расписано, как бы мы считали длину маршрута.
- A -> B -> C -> D -> E -> A
- A -> B -> C -> E -> D -> A
- A -> B -> D -> C -> E -> A
- ......
‼️Это выглядело бы примерно вот так, только не 3 операции перебора, а 120). Хорошо, давайте решать,
0️⃣Допустим, городов также 5, у нас есть город А, начиная с которого, мы должны посетить все остальные города ровно один раз, вернувшись в исходный город. По сути, считать мы будем маршруты 4 городов (B, C, D, E).
1️⃣Помните, я вам выше писал, что нам нужно вычислить факториал количества городов? Дак вот в нашем случае будет 4!. Почему так? ‼️ Да потому что ебать город А у нас как начальный, так и заключительный, поэтому операции будут для 4 городов, а для 4 городов, количество операций будет 4! = 24. Дальше представлены точки, по которым мы можем определить расстояние между городами.
- Город A: (0, 0)
- Город B: (1, 2)
- Город C: (4, 3)
- Город D: (6, 1)
- Город E: (3, 5)
2️⃣Итак, точки есть, теперь рассчитываем расстояние (чекайте картинку).
👇🏿Внизу представлены длины между нашими городами.
- A -> B: 2.24
- A -> C: 5
- A -> D: 6.08
- A -> E: 5.83
- B -> C: 3.16
- B -> D: 5.10
- B -> E: 3.61
- C -> D: 2.83
- C -> E: 2.24
- D -> E: 5
3️⃣Теперь просто подставляем в маршруты, наши полученные ответы и складываем. Это все будет выглядеть дохуя объемным, но как по мне, очень хорошее
объяснение. ⚙️
- A -> B -> C -> D -> E -> A
- A -> B -> C -> E -> D -> A
- A -> B -> D -> C -> E -> A
- A -> B -> D -> E -> C -> A
- A -> B -> E -> C -> D -> A
- A -> B -> E -> D -> C -> A
- A -> C -> B -> D -> E -> A
- A -> C -> B -> E -> D -> A
- A -> C -> D -> B -> E -> A
- A -> C -> D -> E -> B -> A
- A -> C -> E -> B -> D -> A
- A -> C -> E -> D -> B -> A
- A -> D -> B -> C -> E -> A
- A -> D -> B -> E -> C -> A
- A -> D -> C -> B -> E -> A
- A -> D -> C -> E -> B -> A
- A -> D -> E -> B -> C -> A
- A -> D -> E -> C -> B -> A
- A -> E -> B -> C -> D -> A
- A -> E -> B -> D -> C -> A
- A -> E -> C -> B -> D -> A
- A -> E -> C -> D -> B -> A
- A -> E -> D -> B -> C -> A
- A -> E -> D -> C -> B -> A
#коммивояжер #TSP #Алгоритмы #bigO
Мы как то уже разбирали контент Адитьи Бхаргавы, я сообщение вам прикреплю. Будет лучше, если вы прочтете, что я там писал.
✅Там если что было про бинарный поиск, big(O) (это если че скорость выполнения алгоритмов, то насколько быстро возрастает время выполнения алгоритма с увеличением входных данных). Также мы с вами разобрали несколько основных разновидностей big(O), но будет лучше если вы это прочитаете сами.
Перед следующей главной идет разбор задачки о коммивояжере (TSP - traveling Salesman Problem) и конечно же блять мне стало интересно.⁉️ Это, наверное, самая известная задача о графах. В чем собственное суть⁉️
⭕️Вообще, в книге написано об этом не так много: у нас есть, допустим, чел👨💻, который решил посетить 5 городов (5 городов просто условность, пунктов может быть бесконечно много). Этот самый чел (коммивояжер) хочет заехать в каждый город, а некоторые источники трактуют, что он еще должен заехать обратно, но не суть. У нас известны длины дорог, которые соединяют города.
⭕️В нашем случае, поскольку городов - 5, количество перестановок будет 120, поскольку 5! = 120. ‼️Очень важный момент, 120 это не ответ, это именно количество перестановок, перестановки в данном случае это наши операции.
❗️Теперь вкратце: у нас из каждого города есть доступ в другой город, допустим от 1 города до второго - 150 км и так далее... (об этом тоже поговорим), также мы можем вычислить количество операций, в нашем случае городов 5, значит и перестановок будет 5! = 120. На этом этапе, я обратился к ChatGPT, отправил промт и он очень хорошо ответил. Ниже расписано, как бы мы считали длину маршрута.
- A -> B -> C -> D -> E -> A
- A -> B -> C -> E -> D -> A
- A -> B -> D -> C -> E -> A
- ......
‼️Это выглядело бы примерно вот так, только не 3 операции перебора, а 120). Хорошо, давайте решать,
0️⃣Допустим, городов также 5, у нас есть город А, начиная с которого, мы должны посетить все остальные города ровно один раз, вернувшись в исходный город. По сути, считать мы будем маршруты 4 городов (B, C, D, E).
1️⃣Помните, я вам выше писал, что нам нужно вычислить факториал количества городов? Дак вот в нашем случае будет 4!. Почему так? ‼️ Да потому что ебать город А у нас как начальный, так и заключительный, поэтому операции будут для 4 городов, а для 4 городов, количество операций будет 4! = 24. Дальше представлены точки, по которым мы можем определить расстояние между городами.
- Город A: (0, 0)
- Город B: (1, 2)
- Город C: (4, 3)
- Город D: (6, 1)
- Город E: (3, 5)
2️⃣Итак, точки есть, теперь рассчитываем расстояние (чекайте картинку).
👇🏿Внизу представлены длины между нашими городами.
- A -> B: 2.24
- A -> C: 5
- A -> D: 6.08
- A -> E: 5.83
- B -> C: 3.16
- B -> D: 5.10
- B -> E: 3.61
- C -> D: 2.83
- C -> E: 2.24
- D -> E: 5
3️⃣Теперь просто подставляем в маршруты, наши полученные ответы и складываем. Это все будет выглядеть дохуя объемным, но как по мне, очень хорошее
объяснение. ⚙️
- A -> B -> C -> D -> E -> A
- A -> B -> C -> E -> D -> A
- A -> B -> D -> C -> E -> A
- A -> B -> D -> E -> C -> A
- A -> B -> E -> C -> D -> A
- A -> B -> E -> D -> C -> A
- A -> C -> B -> D -> E -> A
- A -> C -> B -> E -> D -> A
- A -> C -> D -> B -> E -> A
- A -> C -> D -> E -> B -> A
- A -> C -> E -> B -> D -> A
- A -> C -> E -> D -> B -> A
- A -> D -> B -> C -> E -> A
- A -> D -> B -> E -> C -> A
- A -> D -> C -> B -> E -> A
- A -> D -> C -> E -> B -> A
- A -> D -> E -> B -> C -> A
- A -> D -> E -> C -> B -> A
- A -> E -> B -> C -> D -> A
- A -> E -> B -> D -> C -> A
- A -> E -> C -> B -> D -> A
- A -> E -> C -> D -> B -> A
- A -> E -> D -> B -> C -> A
- A -> E -> D -> C -> B -> A
#коммивояжер #TSP #Алгоритмы #bigO
✅ На этом этапе все становится понятно, наши ответы - расстояние между городами, подставляем в маршруты, ищем минимальный маршрут и вот вам ответ.
‼️Оптимальный маршрут для 5 городов это маршрут A -> B -> E -> C -> D -> A с общей длиной 16.62, потому что он наименьший.
😳Теперь представьте, если бы городов было хотя бы 15)). Это был самый 'тугой' способ - метод перебора, если мне хватит мозгов, то разберем еще пару методов позже.
🧑💻Чисто вам факт, если городов будет больше 66, то компьютеру понадобится несколько миллиардов лет, чтобы найти правильный ответ, потому что число, факториал из 66 это количество операций сложения) Да и к тому же, мы не знаем, какая там могла быть длина между городами. Вычисления ии ниже 👇🏿
‼️Оптимальный маршрут для 5 городов это маршрут A -> B -> E -> C -> D -> A с общей длиной 16.62, потому что он наименьший.
😳Теперь представьте, если бы городов было хотя бы 15)). Это был самый 'тугой' способ - метод перебора, если мне хватит мозгов, то разберем еще пару методов позже.
🧑💻Чисто вам факт, если городов будет больше 66, то компьютеру понадобится несколько миллиардов лет, чтобы найти правильный ответ, потому что число, факториал из 66 это количество операций сложения) Да и к тому же, мы не знаем, какая там могла быть длина между городами. Вычисления ии ниже 👇🏿
Здесь применена формула для нахождения расстояния между двумя точками. Да и в целом, это все было расписано, чтобы показать, что нужно делать, чтобы решить задачу с самого начала, имея начальные координаты. #Алгоритмы #Книги
CodeLab
Да кто эти ваши инт и флот⁉️ 🧑💻 Они частенько у нас фигурировали в прошлых задачах. Они, то есть #типы_данных, используются для представления целых чисел (int) и чисел с плавающей точкой (float). Код: a = 18 print(float(a)) #18 c = 1.345 print(int(c))…
🔗Итак, мы пару дней назад завели разговор за типы данных, 🧑💻 начнем, пожалуй, с задачи про две старушки.
⭕️Нам нужны всего 2 формулы для решения этой задачи: V1 + V2 = V (км/ч) - скорость сближения и T = S / V - формула для времени. #Две_старушки
⭕️Нам нужны всего 2 формулы для решения этой задачи: V1 + V2 = V (км/ч) - скорость сближения и T = S / V - формула для времени. #Две_старушки
s, v1, v2 = float(input()), float(input()), float(input())
v = v1 + v2
t = s / v
print(t)
Задание достаточно простое, я думаю, просто пойдем дальше, выше два решения 🔝 #Обратное_число
Код:
Код:
a = float(input())
if a != 0:
print(a ** -1)
else:
print('Обратного числа не существует')
a = float(input())
if a != 0:
print(1 / a)
else:
print('Обратного числа не существует')
✅ Подается нам число - температура в градусах по шкале Фаренгейта, а вывести мы должны температуру по шкале Цельсия #451_градус_по_Фаренгейту
f = float(input())
c = 5 / 9 * (f - 32)
print(c)