Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 콰인

<시간/>

Quine은 입력을 받지 않지만 출력을 생성하는 프로그램입니다. 그것은 자신의 소스 코드를 보여줄 것입니다. 또한 Quinn에는 몇 가지 조건이 있습니다. 프로그램 내에서 소스 코드 파일을 열 수 없습니다.

예시 코드

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

출력

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

Qine은 어떻게 작동합니까?

여기에서 간단한 문자열 형식이 작동합니다. 변수 'a'를 정의하고 a 내부에 'a=%r;print (a%%a)'를 저장하고 있습니다. 그런 다음 a 값을 인쇄하고 %r을 a 값으로 대체합니다. 따라서 퀸이 작동합니다.

이와 같은 파일을 열어서 동일한 작업을 수행할 수 있습니다.

print(open(__file__).read())

그러나 이 경우 우리는 Quine의 규칙을 위반하고 있습니다. Quine에서 파일을 열 수 없습니다.