🏠 Домашнее задание

⚡ Суть задания

Домашнее задание из LMS состоит из двух задач на форматирование строк: денежная сумма и таблица счетов клиентов.

  • Создайте рабочую папку и виртуальное окружение.
  • Решите обе задачи через f-strings.
  • Проверьте каждый файл в VS Code.

📋 Формулировка задания

Исходное задание из LMS:

  1. Сумма положительных чисел. Напишите программу, которая обрабатывает список float чисел, вычисляет сумму положительных чисел. Результат необходимо вывести в формате денежной суммы (до 2 символов после запятой), добавляя символ валюты $ вначале и разделяя тысячи запятой.
  2. Счета клиентов. Напишите программу, которая принимает список строк в формате "name age balance" и выводит информацию о каждом человеке с отформатированными данными: имя — 10 символов, возраст — 3 символа, баланс — 10 символов с двумя знаками после запятой.

🔧 Шаг 0. Подготовка окружения

Перед началом работы настройте окружение. Эти шаги одинаковы для всех уроков курса.

📁 Структура репозитория: мы используем один репозиторий для всех практических работ. Это удобнее, чем десятки отдельных репозиториев: общий .gitignore, единая история, легко переключаться между уроками.
1

Создайте (или откройте) рабочую папку

В VS Code нажмите Ctrl+K Ctrl+O → выберите или создайте папку python-fundamentals-practice. Это будет корень вашего учебного репозитория.

# Или в терминале VS Code (Ctrl + `):
mkdir python-fundamentals-practice
cd python-fundamentals-practice
2

Инициализируйте Git-репозиторий (один раз)

Если папка ещё не является git-репозиторием:

git init

echo "# Python Fundamentals — Практические работы" > README.md
echo "venv/" > .gitignore
echo "__pycache__/" >> .gitignore
echo "*.pyc" >> .gitignore
echo ".env" >> .gitignore

git add README.md .gitignore
git commit -m "init: базовая структура репозитория"
3

Создайте папку для текущего урока

mkdir -p lesson-22
cd lesson-22
4

Создайте виртуальное окружение (venv)

# Windows
python -m venv venv
venv\Scripts\activate

# Mac / Linux
python3 -m venv venv
source venv/bin/activate

После активации в начале строки терминала появится (venv). Все дальнейшие команды выполняйте внутри venv.

5

Создайте ветку для задания

cd ..
git checkout -b lesson/22-strings-formatting
git push -u origin lesson/22-strings-formatting

Именование веток: lesson/XX-краткое-название.

🛠️ Шаги выполнения заданий

1

Создайте файлы

task_01_positive_sum.py
task_02_accounts.py
2

Решите задачу «Сумма положительных чисел»

📄 task_01_positive_sum.py
numbers = [1245.4435, -302.1403, 87459.99, -520.8265, 1450.001]

total = sum(n for n in numbers if n > 0)
print(f"Сумма положительных чисел: ${total:,.2f}")

Ожидаемый вывод: Сумма положительных чисел: $90,155.43

3

Решите задачу «Счета клиентов»

📄 task_02_accounts.py
data_list = [
    "John 23 12345.678",
    "Alice 30 200.50",
    "Bob 35 15000.3",
    "Charlie 40 500.75"
]

for data in data_list:
    parts = data.split()
    name = parts[0]
    age = parts[1]
    balance = float(parts[2])
    print(f"Имя: {name:<10} | Возраст: {age:>3} | Баланс: {balance:>10.2f}")
4

Проверьте каждый файл в VS Code

python task_01_positive_sum.py
python task_02_accounts.py

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

🧪 Как проверить решение

  1. Активируйте venv: venv\Scripts\activate (Windows) или source venv/bin/activate (Mac/Linux).
  2. Запустите каждый файл: python task_01_positive_sum.py и python task_02_accounts.py.
  3. Убедитесь, что вывод совпадает с примером из LMS.
  4. Проверьте граничные случаи: пустой список, ноль, отрицательные числа.

🐛 Отладка в VS Code

  1. Поставьте точку останова кликом слева от номера строки.
  2. Нажмите F5 или выберите «Run → Start Debugging».
  3. Используйте панель Debug (переменные, стек вызовов, консоль).
  4. Проверьте Terminal на наличие traceback — Python показывает номер строки с ошибкой.
  5. Если форматирование не работает, проверьте префикс f и синтаксис спецификатора.

💾 Сохранение работы

git add lesson-22/
git commit -m "lesson-22: strings formatting"
git push

💡 Советы и типичные ошибки

  • Убедитесь, что venv активирован перед запуском.
  • Не коммитьте папку venv/ — она указана в .gitignore.
  • Помните: f-strings требуют префикса f.
  • Для денежного формата используйте ${value:,.2f}.
  • Для выравнивания по правому краю чисел используйте >, а для строк по умолчанию — <.