python Копировать # Определение параметров макси-юбки длина_юбки = 100 # в сантиметрах обхват_бедер = 100 # в сантиметрах плотность_вязания_по_ширине = 2.5 # петли на 1 см плотность_вязания_по_ряду = 3.0 # ряды на 1 см количество_декоративных_элементов = 3 # например, косы или ажурные узоры # Расчет начального количества петель начальное_количество_петель = обхват_бедер * плотность_вязания_по_ширине # Определение количества рядов количество_рядов = длина_юбки * плотность_вязания_по_ряду # Структура для хранения описания узора узоры = { "основной": "лицевая гладь", "декоративный_1": "коса из 12 петель", "декоративный_2": "ажурный узор (повтор 4 петли)", "декоративный_3": "теневой узор (повтор 6 петель)" } # Расчет петель для декоративных элементов (примерно) # Предполагаем, что декоративные элементы будут распределены равномерно петли_на_декоративный_элемент = (начальное_количество_петель - (количество_декоративных_элементов * 2)) // количество_декоративных_элементов # Вычитаем по 2 петли между элементами для раппорта # Примерный расчет петель для каждого узора декоративные_петли = { "декоративный_1": 12, "декоративный_2": 4, "декоративный_3": 6 } # Формирование схемы (текстовое описание) схема_вязания = f"1. Набрать {int(начальное_количество_петель)} петель.\n" схема_вязания += f"2. Вязать резинку (например, 1х1) {int(длина_юбки * 0.05)} см (примерно {int(длина_юбки * 0.05 * плотность_вязания_по_ряду)} рядов).\n" схема_вязания += f"3. Основное полотно: {узоры['основной']}.\n" # Распределение декоративных узоров распределенные_петли = [] current_петли = int(начальное_количество_петель) for i in range(количество_декоративных_элементов): if f"декоративный_{i+1}" in декоративные_петли: петли_узора = декоративные_петли[f"декоративный_{i+1}"] # Предположим, что между узорами будет некоторое количество лицевой глади петли_между_узорами = (current_петли - петли_узора * количество_декоративных_элементов) // (количество_декоративных_элементов + 1) if петли_между_узорами < 0: петли_между_узорами = 0 # Если петель не хватает, не добавляем между узорами распределенные_петли.append(f" ({петли_между_узорами} п. {узоры['основной']} + {петли_узора} п. {узоры[f'декоративный_{i+1}']})") current_петли -= (петли_узора + петли_между_узорами) # Добавление оставшихся петель основного узора if current_петли > 0: распределенные_петли.append(f" ({current_петли} п. {узоры['основной']})") схема_вязания += f"4. В основном полотне чередовать узоры:\n" for i, элемент in enumerate(распределенные_петли): схема_вязания += f" - Повторять раппорт: {элемент}\n" схема_вязания += f"5. Вязать до достижения общей длины {длина_юбки} см (примерно {количество_рядов} рядов).\n" схема_вязания += f"6. Завершить вязание, убавить петли для пояса (если требуется).\n" схема_вязания += f" (Детали узоров {', '.join(узоры.values())} смотрите в подробных схемах).\n" print(схема_вязания)
Made on
Tilda