English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Quine en utilisant Python

Quine est un programme qui n'a pas besoin d'entrée, mais produit une sortie. Il affichera son propre code source. De plus, Quine a également certaines conditions. Nous ne pouvons pas ouvrir le fichier source dans le programme.

Exemple de code

a='a=%r;print (a%%a)';print (a%a)

Résultat de la sortie

a='a=%r;print (a%%a)';print (a%a)

Comment ce Quine fonctionne-t-il ?

Voici un format de chaîne simple. Nous avons défini une variable 'a', dans 'a', nous stockons 'a =%r; print(a %% a)'. Ensuite, nous affichons la valeur de 'a' et remplaceons '%r' par la valeur de 'a'. Donc, Quine fonctionne.

En ouvrant ainsi le fichier, nous pouvons accomplir la même tâche.

print(open(__file__).read())

Mais dans ce cas, nous avons violé les règles de Quine. Nous ne pouvons pas ouvrir un fichier dans Quine.