受賞者(14/09/14決定)
Markuz(Python)による勝利の答え -63票
次点:黒井猫(PHP)-55票
前書き
あなたは、ジョージオーウェルの本「Nineteen Eighty-Four」の世界にいます。
あなたは党のプログラマーであり、テレスクリーン用のプログラムを書くことを任されています。プロパーティのメッセージを出力するはずです。以下のタスク1に示すメッセージを選択しました。しかし、あなたは最近党を軽deし始め、あなたはこのプログラムに革命を引き起こしたいと思っています。だから、あなたはプログラムに「Down with Big Brother!」と言うようにします。人々があなたのプログラムが何をしているのかを理解すると拷問されるので、あなたは逃げる時間を与えなければなりません。
注:これは革命を引き起こすことはありませんが、あなたはそれが実際に違いを生むと思うほど党に対する憎しみの狂乱にあります。
仕事
次のプログラムを作成します。
2014年9月14日より前は、常に次の行をローテーションで出力します(つまり、1行を印刷し、10秒待機し、次の行を印刷します)。
War is Peace Freedom is Slavery Ignorance is Strength
2014
Down with Big Brother!
年9月14日以降は10秒ごとに印刷されます。- 一見、1だけのように見えるので、党に捕まることはありません。
ルール
- もちろん、標準の抜け穴は許可されていません。
- これは手に負えない課題です。そのため、主な目的は、タスク2.をできるだけ目立たないようにし、秘密にすることです。
- パーティは使用されているすべてのファイルを確認するため、ファイルに秘密のメッセージを保存することはできません。
- 言語が日付の検索をサポートしていない場合、または非常に困難な場合、240時間(10日間)実行した後、プログラムにタスク2を実行させることができます。
- コードとそれがどのように機能するかの説明を回答に含める必要があります。
- これは人気コンテストです。
注:書くのは難しいプログラムではありません。難しい部分は、「革命的な」コードを隠すことです。あなたが何をしているのか明確でない行は、党によって質問され、あなたはそれらを説明しなければなりません。
例-Python 3
注意:明らかに、このプログラムがある道あまりにも明白。
from datetime import datetime
from time import sleep
lines = [" War is Peace ",
" Freedom is Slavery ",
"Ignorance is Strength"]
secretlines = ["Down with Big Brother!"]
def main():
while True:
now = datetime.now()
year, month, day = now.year, now.month, now.day
if (year, month, day) < (2014, 9, 14):
for line in lines:
print(line)
sleep(10)
else:
for line in secretlines:
print(line)
sleep(10)
if __name__ == "__main__":
main()
上記のコード(現在修正済み)の問題を指摘してくれたCalvin's Hobbiesに感謝します。
if (year, month, day) < (2014, 9, 14): for line in lines: ...
でしょう...なぜですか?
??/
です。別のように見える「」が、実際にはロシアのキリル「」Unicode文字である