associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "QuinePy"

Diferenças entre as versões de 1 e 4 (3 versões de distância)
Revisão 1e 2007-09-13 20:11:46
Tamanho: 586
Comentário: Em python parece fácil não?
Revisão 4e 2007-09-13 20:33:40
Tamanho: 599
Comentário:
Deleções são marcadas assim. Adições são marcadas assim.
Linha 1: Linha 1:
= Receita: QuinePy =

Este script imprime seu próprio código e gera um arquivo idêntico como saída. Para este tipo de programa é dado o nome de "quine", conhecido dentro dos problemas da computação.
= QuinePy =
Este script imprime seu próprio código e gera um arquivo idêntico como saída. Para este tipo de programa é dado o nome de "quine", bem conhecido dentro dos problemas da computação.
Linha 6: Linha 5:
Linha 9: Linha 7:
import sys

if __name__ == '__main__':
   print "
d = ['d = ', 'f = open("saida.py","w+")', 'd[0] = d[0] + repr(d)', 'for i in d:', ' print i', ' f.write(i+"\\n")', 'f.close()']
d = ['d = ', 'f = open("saida.py","w+")', 'd[0] = d[0] + repr(d)', 'for i in d:', ' print i', ' f.write(i+"\\n")', 'f.close()']
Linha 18: Linha 13:
f.close()"
f.close()
Linha 22: Linha 16:
Como era de se esperar o problema feito em python ficou bem mais fácil não?
Linha 26: Linha 21:

QuinePy

Este script imprime seu próprio código e gera um arquivo idêntico como saída. Para este tipo de programa é dado o nome de "quine", bem conhecido dentro dos problemas da computação.

Código

   1 d = ['d = ', 'f = open("saida.py","w+")', 'd[0] = d[0] + repr(d)', 'for i in d:', ' print i', ' f.write(i+"\\n")', 'f.close()']
   2 f = open("saida.py","w+")
   3 d[0] = d[0] + repr(d)
   4 for i in d:
   5  print i
   6  f.write(i+"\n")
   7 f.close()

Como era de se esperar o problema feito em python ficou bem mais fácil não?

Volta para CookBook.


RodrigoHübner