/
Adequate
/
dangerous_long_Python
Обзор
Документация
Войти
/
Adequate
/
dangerous_long_Python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Homework.py
41 строка
1 KB
Adequate
update Homework.py
19 ноя 2025, 00:41
19 ноя 2025, 00:41
1379013
Код
Авторство
О чём код?
import re import random def f(st): st = st newlst = [] count=1 for i in range(len(st)-1): if st[i]==st[i+1]: count+=1 else: if count == 1: newlst.append(st[i]) elif count == 2: newlst.append(st[i]+st[i]) else: newlst.append(st[i]+str(count)) count = 1 if count == 1: newlst.append(st[i+1]) elif count == 2: newlst.append(st[i+1]+st[i+1]) else: newlst.append(st[i+1]+str(count)) #задание 1: newst = "".join(newlst) #задание 2: s = round(len(st)/len(newst),3) #задание 3: lst = list(map(int, re.findall(r"D((?:\d)+)",newst))) if lst: mx = max(lst) elif "DD" in newst: mx = 2 elif "D" in newst: mx = 1 else: mx = 0 #задание 4 lst = re.findall(r"(?:D(?:\d)+)|(?:DD)",newst) count = len(lst) print("Старая строка: ",st) print("Новая строка: ",newst) print(f"Сжалось в {s} раз | Маскимальное колчество D - {mx} | Количество инцидентов - {count}") #генератор случаной строки st = "" for i in range(random.randint(1,13)): st+=random.choice("UDLR")*random.randint(0,15) f(st)