logo

Quine en Python

Quine est un programme qui ne prend aucune entrée mais génère une copie de son propre code. Nous avons discuté quine en 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 (_%_) 
Explication: Le code ci-dessus est une utilisation classique du formatage de chaîne. Tout d'abord, nous définissons une variable _ et en lui attribuant '_=%r;print _%%_'. Deuxièmement, nous imprimons __%_ . Ici, nous imprimons _ avec _ comme entrée pour le formatage de la chaîne. Donc %r in _ obtient la valeur de _. Vous pouvez même utiliser %s au lieu de %r . Nous avons utilisé le double % dans '_=%r;print _%%_' pour échapper % . 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 ouvrir() fonction pour imprimer son code source.