logo

Quine i Python

Quine er et program som ikke tar noen input, men sender ut en kopi av sin egen kode. Vi har diskutert kin i C . The shortest possible quine in python is just a single line of code! Python
_='_=%r;print _%%_';print _%_ 
In case of Python3.x Python
_='_=%r;print (_%%_)';print (_%_) 
Forklaring: Koden ovenfor er en klassisk bruk av strengformatering. Først definerer vi en variabel _ og tilordne den '_=%r;print _%%_'. For det andre trykker vi _%_ . Her skriver vi ut _ med _ som input til strengformatering. Så %r i _ får verdien av _. Du kan til og med bruke %s istedenfor %r . Vi brukte dobbel % i '_=%r;skriv ut _%%_' for å escape % . But you may say that the below code is the smallest right! Python
print open(__file__).read() 
You need to note that it is indeed the smallest python program that can print its own source code but it is not a quine because a quine should not use åpne() funksjon for å skrive ut kildekoden.