Skip to content

Цілі

  • Застосовувати всі вивчені концепції у складніших програмах
  • Розвивати самостійні навички вирішення проблем
  • Планувати та структурувати програми

Складні проекти

Проект 1: Інтерактивний калькулятор

Напишіть комплексну програму калькулятора, яка:

  1. Запитує у користувача два числа
  2. Запитує про бажану операцію (+, -, *, /, степінь)
  3. Обчислює та відображає результат
  4. Запитує, чи слід виконати ще одне обчислення
  5. Показує повідомлення про помилку при діленні на 0

Використовуйте:

  • Введення користувача з input()
  • Функції для кожного типу обчислення
  • Цикл while для повторення
  • Складні умови для перевірки введення

Проект 2: Генератор візерунків

Створіть програму, яка пропонує користувачеві різні візерунки на вибір:

  • "1" для Спіралі: Малює спіраль з 50 кроків
  • "2" для Квітки: Малює 8 кіл навколо центральної точки
  • "3" для Вибуху зірки: Малює 20 ліній від центру назовні
  • "4" для Випадкового мистецтва: 15 випадкових форм у випадкових кольорах
  • "5" для Райдужної спіралі: Спіраль зі змінними кольорами

Вимоги:

  • Використовуйте окрему функцію для кожного візерунка
  • Використовуйте цикли та випадкові числа
  • Дозвольте користувачеві вводити параметри (наприклад, розмір, кількість)

Проект 3: Геометрична вікторина

Напишіть інтерактивну програму вікторини:

  1. Генеруйте випадкові геометричні задачі:
    • Довжина кола при заданому радіусі
    • Площа прямокутника при заданих сторонах
    • Кути трикутника (180° - інші кути)
  2. Запитайте користувача про рішення
  3. Порівняйте з правильною відповіддю
  4. Ведіть статистику (правильні/неправильні відповіді)
  5. Дайте оцінку в кінці

Проект 4: Галерея мистецтва черепашки

Створіть програму, яка малює різні твори мистецтва:

python
def фрактальне_дерево(довжина, кут, глибина):
    """Малює фрактальне дерево"""
    if глибина == 0:
        return
    
    t.forward(довжина)
    t.left(кут)
    фрактальне_дерево(довжина * 0.7, кут, глибина - 1)
    t.right(2 * кут)
    фрактальне_дерево(довжина * 0.7, кут, глибина - 1)
    t.left(кут)
    t.backward(довжина)

def мандала(розмір, деталі):
    """Малює мандалу"""
    for i in range(деталі):
        t.circle(розмір)
        t.right(360 / деталі)

Складні окремі завдання

Завдання 1: Гра вгадування чисел

Запрограмуйте гру вгадування чисел:

  • Комп'ютер вибирає випадкове число між 1-100
  • Користувач вгадує, комп'ютер дає підказки ("занадто високо", "занадто низько")
  • Рахуйте кількість спроб
  • Після гри: Статистика попередніх ігор

Завдання 2: Графічний редактор черепашки

Створіть простий графічний редактор:

  • Меню з різними варіантами малювання
  • Користувач може вибирати кольори
  • Доступні різні фігури
  • Функція "гумки" (білий колір)
  • Збереження/завантаження малюнків (як список координат)

Завдання 3: Генератор лабіринтів

Генеруйте прості лабіринти:

  • Створіть сітку з ліній
  • Випадково видаляйте стіни для створення шляхів
  • Переконайтеся, що старт та фініш досяжні
  • Бонус: Автоматично вирішіть лабіринт

Завдання 4: Симуляція погоди

Симулюйте дані погоди:

  • Генеруйте випадкові температури протягом 30 днів
  • Обчисліть середнє, максимум, мінімум
  • Намалюйте просту діаграму температур
  • Прогноз на наступний день на основі тенденції

Критерії оцінювання проектів

При оцінюванні ваших проектів я звертаю увагу на:

  1. Функціональність: Чи працює програма без помилок?
  2. Якість коду: Чи код чисто структурований та прокоментований?
  3. Використання концепцій: Чи функції, цикли, умови використовуються осмислено?
  4. Креативність: Власні ідеї та розширення
  5. Вирішення проблем: Як вирішуються виклики?

Поради для великих проектів

  1. Плануйте спочатку: Подумайте про хід виконання, перш ніж кодувати
  2. Маленькі кроки: Програмуйте маленькими, тестованими секціями
  3. Тестуйте часто: Регулярно запускайте свою програму
  4. Коментуйте: Пояснюйте складні частини в коді
  5. Просіть допомоги: При проблемах не боріться занадто довго самостійно

Підсумок курсу

У цьому курсі Python ви навчилися:

  • Змінні та типи даних: Зберігати та обробляти дані
  • Умови: Дозволяти програмам приймати рішення
  • Цикли: Змушувати код повторюватися
  • Функції: Структурувати та повторно використовувати код
  • Бібліотеки: Використовувати готові функції
  • Введення користувача: Створювати інтерактивні програми

З цими інструментами ви вже можете писати багато цікавих програм. Це лише початок вашої подорожі програмування!