logo

Quine в Python

Куайн е програма, която не приема входни данни, а извежда копие на собствения си код. Обсъждали сме куин в 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 (_%_) 
Обяснение: Горният код е класическа употреба на форматиране на низове. Първо дефинираме променлива _ и присвояването му '_=%r;print _%%_'. Второ, ние печатаме _%_ . Тук печатаме _ с _ като вход за форматиране на низ. И така %r в _ получава стойността на _. Можете дори да използвате %s вместо %r . Използвахме двойно % в '_=%r;print _%%_' за бягство % . 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 отворен() функция за отпечатване на неговия изходен код.