✅ Решения заданий

⚠️ Рекомендация: попробуйте решить задания самостоятельно, прежде чем смотреть ответы. Решения — это последняя инстанция, когда собственные попытки исчерпаны.

Решение задания 1. Страница «О проекте»

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return '<h1>Главная</h1>'

@app.route('/about')
def about():
    return '''
    <h1>О проекте</h1>
    <p>Это учебный проект на Flask для курса Python Advanced.</p>
    <p>Цель — освоить базовую маршрутизацию и создание веб-приложений.</p>
    '''

if __name__ == '__main__':
    app.run(debug=True)

Логика решения: используем тройные кавычки ''' для многострочной HTML-строки. Это удобнее, чем конкатенация строк.

Решение задания 2. Приветствие по имени

@app.route('/user/<name>')
def greet_user(name):
    return f'<h1>Привет, {name}!</h1>' \
           f'<p>Добро пожаловать в Flask.</p>'

Логика решения: f-string позволяет вставить переменную name прямо в строку. Это читаемее, чем 'Привет, ' + name + '!'.

Решение задания 3. Квадрат числа (★ продвинутое)

@app.route('/square/<n>')
def square(n):
    try:
        number = int(n)
        result = number ** 2
        return f'<h1>Квадрат числа {number} = {result}</h1>'
    except ValueError:
        return '<h1>Ошибка: передайте число</h1>', 400

Логика решения:

  • int(n) преобразует строку из URL в число.
  • ** 2 — возведение в квадрат (альтернатива: number * number).
  • try/except ValueError ловит ситуацию, когда в URL передан текст вместо числа.
  • , 400 в return — возвращаем HTTP-статус 400 (Bad Request) при ошибке.