fork download
  1. class Formatacao:
  2. def sprintf(self, formato):
  3. while "%" in formato:
  4. final = formato.rindex("%")
  5. inicio = formato[final:].index("%")
  6.  
  7. formato = formato[:final] + formato[final + inicio + 1:]
  8. palavras = formato.split()
  9.  
  10. for palavra in palavras:
  11. if hasattr(self, palavra):
  12. valor = getattr(self, palavra)
  13. formato = formato.replace(palavra, str(valor))
  14.  
  15. return formato
  16.  
  17. class Pessoa(Formatacao):
  18. def __init__(self, nome, sexo, peso, idade):
  19. self.nome = nome
  20. self.sexo = sexo
  21. self.peso = peso
  22. self.idade = idade
  23.  
  24. pessoa = Pessoa("Joao", "M", 70, 21)
  25. print (pessoa.sprintf("%nome% tem %idade% anos"))
  26.  
Success #stdin #stdout 0s 9992KB
stdin
Standard input is empty
stdout
Joao tem 21 anos