Computer >> Máy Tính >  >> Lập trình >> Python

Quine bằng Python

Quine là một chương trình không cần đầu vào, nhưng nó tạo ra đầu ra. Nó sẽ hiển thị mã nguồn của chính nó. Ngoài ra, Quine có một số điều kiện. Chúng tôi không thể mở tệp mã nguồn bên trong chương trình.

Mã mẫu

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

Đầu ra

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

Quine này hoạt động như thế nào?

Đây là một định dạng chuỗi đơn giản đang hoạt động. Chúng tôi đang xác định một biến ‘a’ và bên trong a, chúng tôi đang lưu trữ ‘a =% r; print (a %% a)’ Sau đó, chúng tôi in giá trị của a và cũng thay thế% r bằng giá trị của a. Vì vậy, quine đang hoạt động.

Chúng ta có thể thực hiện tác vụ tương tự bằng cách mở tệp như thế này.

print(open(__file__).read())

Nhưng trong trường hợp này, chúng tôi đang vi phạm quy tắc của Quine. Chúng tôi không thể mở tệp trong Quine.