1. Learn
  2. /
  3. Cursuri
  4. /
  5. Scrierea funcțiilor în Python

Connected

exercițiu

Generator HTML

Scrii un script care generează HTML pentru o pagină web din mers. Până acum, ai scris doi decoratori care adaugă taguri de bold sau italice oricărei funcții ce returnează un string. Observi însă că acești doi decoratori arată foarte similar. În loc să scrii o serie de alți decoratori asemănători, vrei să creezi un singur decorator, html(), care să poată primi orice pereche de taguri de deschidere și de închidere.

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

Instrucțiuni 1/4

undefined XP
  • 1

    Returnează decoratorul și funcția decorată din locurile corecte în noul decorator html().

  • 2

    Folosește decoratorul html() pentru a încadra valoarea returnată de hello() în stringurile <b> și </b> (tagurile HTML pentru „bold").

  • 3

    Folosește html() pentru a încadra valoarea returnată de goodbye() în stringurile <i> și </i> (tagurile HTML pentru „italice").

  • 4

    Folosește html() pentru a încadra hello_goodbye() într-un DIV, adăugând tagurile <div> și </div> în jurul unui string.