challenge 自分自身を表示する

いわゆるself-printing programです。
今まで出てなかったっぽいので投稿してみました。

実行すると、そのソースコードの内容をそっくりそのまま表示するコードを書いてください。
ただし、
・空白のみのコードは認めない
・コードそのものを読み込むコードは書いてはいけない
-------->print open('selfprinting.py').read() のようなコード禁止
・コードを複数のファイルに分けたときは、作成あるいは変更したファイルの内容全てを表示すること
-------->foo.pyにprint 'import foo'、main.pyにimport fooのようなコード禁止
・標準入力や引数、あらかじめあるファイルを都合よく想定するの禁止
-------->print argv[1]として引数に'print argv[1]'を指定ってのはなし
・こういったことをしないで真面目に解いてもらうことを目的としているが、目的通りにいかないことは承知しているし、ある意味、楽しみにしている
1
2
3
4
5
6
#!/usr/bin/python
# coding: utf-8
# あんまりpythonらしくないです...

s = "#!/usr/bin/python%c# coding: utf-8%c# あんまりpythonらしくないです...%c%cs = %c%s%c%cprint s %% (10, 10, 10, 10, 34, s, 34, 10)"
print s % (10, 10, 10, 10, 34, s, 34, 10)

Posted feedbacks

Number of comments:37 Nested Flatten
  1. 5 Other
  2. 4 Ruby
  3. 2 Scheme Common Lisp Bash JavaScript BASIC
  4. 1 OCaml Java SQL C Perl PHP Groovy C# D C++ Io Python Smalltalk J Haskell Scala

Index

Feed

Other

Link

Pathtraq

loading...