Full stack dev
61 subscribers
356 photos
50 videos
4 files
99 links
"Full Stack Dev & Computer Science" – Канал для разработчиков, которые хотят
расширить свои знания в Full Stack и углубиться в основы и новейшие тренды Computer Science.
Здесь вы найдете материалы по frontend и backend разработке, работе с базами данных,
Download Telegram
Forwarded from Timur
Задача на Python:

📚Вам будет предоставлена непустая строка.
Ваша задача - вернуть средние символы строки.
Если длина строки нечетная, верните средний символ.
Если длина строки четная, верните 2 средних символа.
Если строка пустая, то
return ""

👁‍🗨Пример №1:

« "test"
» "es"

👁‍🗨Пример №2:

« "testing"
» 't'

#task #python
Forwarded from Timur
Streamlit

📚Streamlit — это фреймворк на Python,
предназначенный для быстрого создания
интерактивных веб-приложений


📗Doc: тут
🌐GitHub: тут

#framework #python #fronted
Forwarded from Timur
Задача по Python: Уникальные элементы с сохранением порядка

📚Напишите функцию unique_order, которая принимает список и возвращает новый
список, содержащий только уникальные элементы, сохраняя их порядок
появления.


👁‍🗨Пример №1:

« [1, 2, 2, 3, 4, 3, 5, 1, -1, -2]
» [1, 2, 3, 4, 5, -1, -2]

👁‍🗨Пример №2:

« [1, 2, 2, 3, 4, 3, 5, 1]
» [1, 2, 3, 4, 5]

#task #python
🐍Python 3.14

📖Свежий релиз Python 3.14 привнёс кучу улучшений, ускорений и интересных фич.
Вот кратко о самом важном


⚙️Главные нововведения:
Отложенные аннотации — теперь аннотации не вычисляются сразу, а лениво (deferred evaluation).
Поддержка нескольких интерпретаторов через модуль concurrent.interpreters — шаг к изоляции и параллелизму без GIL.
Free-threaded mode улучшен — меньше накладных расходов, лучше производительность.
Новые template-строки (t"...") — возвращают объект шаблона, а не обычную строку.

📦 Стандартная библиотека
Новый модуль compression.zstd — полноценная поддержка Zstandard.
В asyncio появился CLI для инспекции задач (python -m asyncio ps).
Новый InterpreterPoolExecutor в concurrent.futures — параллелизм через подинтерпретаторы.

⚡️ Производительность
Tail-call оптимизации для внутренних C-функций (до +5 %).
GC стал быстрее и предсказуемее.

🧩 Итог
Python 3.14 - это про многопоточности без GIL, к ускорению и гибкости.

🔗Источник: тут

#python #news
1🔥1
Первый и второй замечательный
придел с графиком на
Python

⚙️Коротко о коде:

- class Limit - просто объект для абстракции задачи.

- method first_wonderful_limit - вычисление первого
замечательного предела.


- method second_wonderful_limit - вычисление второго
замечательного предела.


- private method _render - служит для отрисовки графиков
для функции первого и второго предела.


- для вычисления используем lib numpy,
numpy - мощная математическая библиотека.

- для отрисовки графиков используем lib matplotlib.

pip install numpy 
pip install matplotlib


#algorithms #python
Задача для Python «Daily Temperatures»

📚Дан массив целых чисел temperatures, где каждая температура соответствует
определённому дню.


⚙️Нужно вернуть новый массив answer, где каждое значение показывает, сколько дней нужно
подождать до более высокой температуры. Если такого дня не будет, записывается 0.


💡Подсказка:

Я нашёл два варианта решения задачи. Первый вариант O(n**2) это двойной цикл for.
Второй вариант это использование стека, там тоже есть циклы, но сложность алгоритма
O(n), что уже лучше. Ну само собой я использовал второй вариант решения по очевидным
причинам.


👁‍🗨Пример 1:
« temperatures = [73,74,75,71,79]
» [1,1,2,1,0]

👁‍🗨Пример 2:
« temperatures = [30,60,90]
» [1,1,0]

#task #python
👍2
📕 Алгоритм BFS (Breadth-First Search)

💡BFSпоиск в ширину — это алгоритм обхода графа, который сначала посещает всех соседей вершины, затем соседей этих соседей, и так далее.

⚙️ Как работает BFS
1. Берём любую стартовую вершину.
2. Добавляем её в очередь.
3. Пока очередь не пуста:
- достаём вершину из очереди,
- посещаем всех её соседей,
- непосещённых соседей добавляем в очередь.

Релизация на python:
from collections import deque

def bfs(graph, start):
visited = set()
queue = deque([start])
order = [] # порядок обхода

while queue:
vertex = queue.popleft()

if vertex not in visited:
visited.add(vertex)
order.append(vertex)

for neighbor in graph[vertex]:
if neighbor not in visited:
queue.append(neighbor)

return order

graph = {
'A': ['B', 'C'],
'B': ['D', 'E'],
'C': ['F'],
'D': [],
'E': ['F'],
'F': []
}

print(bfs(graph, 'A'))

#algorithm #python
🔹 DFS (Depth-First Search) — поиск в глубину в графе

💡Идея:

Исследуем граф «вглубь», пока не достигнем конца пути, затем возвращаемся.

Нужно хранить посещённые вершины (visited).

🔧Применение:

Поиск пути, топологическая сортировка, компоненты связности.

⚙️Рекурсивноя реализвация:
graph = {
'A': ['B','C'], 'B': ['D','E'], 'C': ['F'],
'D': [], 'E': ['F'], 'F': []
}

def dfs(graph, start, visited=None):
if visited is None: visited = set()
visited.add(start)
print(start, end=' ')
for neighbor in graph[start]:
if neighbor not in visited:
dfs(graph, neighbor, visited)
dfs(graph, 'A')


⚙️Итеративно через стек:
def dfs_iter(graph, start):
visited, stack = set(), [start]
while stack:
v = stack.pop()
if v not in visited:
print(v, end=' ')
visited.add(v)
stack.extend(reversed(graph[v]))
dfs_iter(graph, 'A')


Вывод:
A B D E F C


#algorithm #python