কুইন একটি প্রোগ্রাম, যা কোন ইনপুট নেয় না, কিন্তু এটি আউটপুট তৈরি করে। এটি তার নিজস্ব সোর্স কোড দেখাবে। অতিরিক্তভাবে, কুইনের কিছু শর্ত রয়েছে। আমরা প্রোগ্রামের ভিতরে সোর্স কোড ফাইল খুলতে পারি না।
উদাহরণ কোড
a='a=%r;print (a%%a)';print (a%a)
আউটপুট
a='a=%r;print (a%%a)';print (a%a)
এই Quine কিভাবে কাজ করছে?
এখানে একটি সাধারণ স্ট্রিং বিন্যাস কাজ করছে। আমরা একটি ভেরিয়েবল 'a' সংজ্ঞায়িত করছি, এবং a এর ভিতরে, আমরা সংরক্ষণ করছি 'a=%r;print (a%%a)' তারপর আমরা a-এর মান প্রিন্ট করছি, এবং %r-কে a-এর মান দিয়ে প্রতিস্থাপন করছি। এইভাবে কুইন কাজ করছে।
আমরা এইভাবে ফাইলটি ওপেন করে একই কাজ করতে পারি।
print(open(__file__).read())
কিন্তু এক্ষেত্রে আমরা কুইনের নিয়ম লঙ্ঘন করছি। আমরা Quine এ ফাইল খুলতে পারি না।