Решение задания 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) при ошибке.