1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Writing Functions in Python

Connected

cvičení

HTML generátor

Píšeš skript, který dynamicky generuje HTML pro webovou stránku. Zatím jsi napsal/a dva dekorátory, které obalí návratovou hodnotu libovolné funkce vracející řetězec tučnými nebo kurzívními tagy. Všimneš si ale, že tyto dva dekorátory jsou si velmi podobné. Místo psaní dalších podobně vypadajících dekorátorů chceš vytvořit jeden universální dekorátor html(), který přijme libovolný pár otevíracího a zavíracího tagu.

def bold(func):
  @wraps(func)
  def wrapper(*args, **kwargs):
    msg = func(*args, **kwargs)
    return '<b>{}</b>'.format(msg)
  return wrapper
def italics(func):
  @wraps(func)
  def wrapper(*args, **kwargs):
    msg = func(*args, **kwargs)
    return '<i>{}</i>'.format(msg)
  return wrapper

Instrukce 1/4

undefined XP
  • 1

    Vrať dekorátor a dekorovanou funkci ze správných míst v novém dekorátoru html().

  • 2

    Pomocí dekorátoru html() obal návratovou hodnotu funkce hello() řetězci <b> a </b> (HTML tagy pro tučné písmo).

  • 3

    Pomocí html() obal návratovou hodnotu funkce goodbye() řetězci <i> a </i> (HTML tagy pro kurzívu).

  • 4

    Pomocí html() obal funkci hello_goodbye() do DIV elementu — tedy přidej kolem řetězce tagy <div> a </div>.