"Yields falsehood when quined" yields falsehood when quined
I decided to try to write a quine on Python, a script that returns its own source code. Here's what I came up with after a few minutes:
l= ['print "l=", l', 'for a in l:', ' print a']
print "l=", l
for a in l:
print a
This is probably one of the simplest quines there are in Python, I wouldn't be surprised if others came up with something similar before, but I just thought this was kind of a neat piece of code.
It should be pretty to follow, too. The first line holds most of the rest of the script in text form. The second line simply prints the first line, and the for-loop prints out the text defined in the first line.
Now, here is something neat: we can add code that does pretty much anything after the first print statement, and as long as we also add this code into the list in the first line, the program is still a quine. This means that this turns out to e a template for self-replicating programs - you could have this script do whatever you want, and then replicate itself.
No comments:
Post a Comment