Kodduu Python
1.07K subscribers
316 photos
28 videos
190 links
Научись программировать на Python на интересных примерах

Самый быстрый курс https://stepik.org/a/187914
Самый нескучный курс https://stepik.org/a/185238

Во вопросам сотрудничества: @AlexErf
Download Telegram
Channel created
Представь, что у тебя есть три волшебные машины: машина A, машина B и машина C. Каждая машина делает что-то особенное с предметами:

1. Машина A окрашивает вещи в зеленый цвет.
2. Машина B делает вещи в два раза больше.
3. Машина C превращает фрукты в овощи.

Теперь, используя язык программирования Haskell, мы можем создать код, который моделирует это поведение:

haskell
type Item = String

machineA :: Item -> Item
machineA item = "зеленый " ++ item

machineB :: Item -> Item
machineB item = "большой " ++ item

machineC :: Item -> Item
machineC "яблоко" = "маленькая красная морковка"
machineC item = item

transformItem :: (Item -> Item) -> (Item -> Item) -> (Item -> Item) -> Item -> Item
transformItem = (.) . (.)

В этом примере мы определяем тип Item для представления предметов. Мы также определяем функции machineA, machineB и machineC, которые соответствуют машинам A, B и C из нашего описания. Затем мы определяем функцию transformItem, которая позволяет нам применить три машины одна за другой к предмету.

haskell
main :: IO ()
main = do
let item = "яблоко"
let transformedItem = transformItem machineA machineB machineC item
putStrLn transformedItem

Здесь мы определяем item как "яблоко" и применяем функцию transformItem к нему, чтобы получить преобразованный предмет. Затем мы выводим результат на экран. В итоге, мы получим "большая зеленая морковка", как и ожидалось из нашего описания.

Таким образом, с помощью функционального программирования на языке Haskell, мы смогли элегантно и кратко описать сложную операцию, используя мощные функции композиции и стиль без указания точки.
May the 4th be with YOU 🤖
Рассмотрим необычный и красивый фрагмент кода на языке программирования Python. Этот фрагмент кода создает забавную текстовую анимацию, которая показывает, как слово "ПРИВЕТ" передвигается влево и вправо.

python
import time
import os

word = "ПРИВЕТ"
while True:
for i in range(10):
print(" " * i + word)
time.sleep(0.3)
os.system("cls" if os.name == "nt" else "clear")
for i in range(10, 0, -1):
print(" " * i + word)
time.sleep(0.3)
os.system("cls" if os.name == "nt" else "clear")


Представь, что у нас есть слово "ПРИВЕТ", и мы хотим, чтобы оно двигалось влево и вправо на экране, как маятник. Вот что делает каждая часть кода:

1. Мы импортируем две библиотеки: time и os. Они помогут нам контролировать время и очищать экран.

2. Мы создаем переменную word, в которой хранится наше слово "ПРИВЕТ".

3. Далее мы используем два цикла for внутри бесконечного цикла while. Первый цикл for отвечает за движение слова вправо, а второй - за движение слова влево.

4. В каждом цикле for мы добавляем пробелы перед словом, чтобы сдвигать его влево или вправо. Мы также используем функцию time.sleep(0.3) для паузы между каждым шагом, чтобы слово двигалось плавно.

5. После каждого шага мы очищаем экран с помощью функции os.system("cls" if os.name == "nt" else "clear"). Это делает анимацию более плавной и приятной для глаз.

В итоге, этот фрагмент кода создает забавную и красивую текстовую анимацию, используя простые и легко понятные конструкции языка Python.
Ниже фрагмент кода на языке программирования Python, который создает простую, но впечатляющую визуализацию звездного неба.

python
import random

sky = []
rows, cols = 10, 20

for _ in range(rows):
row = []
for _ in range(cols):
row.append('*' if random.random() < 0.1 else ' ')
sky.append(row)

for row in sky:
print("".join(row))


Вот что делает каждая часть кода:

1. Мы импортируем модуль random, который поможет нам создавать случайные звезды на небе.
2. Создаем пустой список sky, который будет содержать наш звездный небосвод, а также определяем количество строк и столбцов с помощью переменных rows и cols.
3. Затем используем два вложенных цикла for, чтобы заполнить наш список sky. В каждой ячейке мы случайным образом выбираем, ставить звезду (*) или оставить пустое пространство ( ), с вероятностью 10% для звезды.
4. В последней части кода мы выводим наш звездный небосвод на экран, объединяя символы каждой строки и выводя их с помощью функции print().

Этот фрагмент кода красив, потому что он создает случайную визуализацию звездного неба с помощью простых и легко понятных конструкций Python. Код компактный, а сама идея визуализации звездного неба может быть увлекательной для изучения программирования.