Gewinner (entschieden am 14.09.14)
Gewinner-Antwort von Markuz (Python) - 63 Stimmen
Zweiter von kuroi neko (PHP) - 55 Stimmen
Einführung
Sie befinden sich in der Welt des Buches Nineteen Eighty-Four von George Orwell.
Sie sind Programmierer für die Partei und haben die Aufgabe, ein Programm für die Bildschirme zu schreiben. Es sollte pro-party Nachrichten ausgeben, und Sie haben die in Aufgabe 1 unten gezeigten ausgewählt. Sie haben jedoch kürzlich begonnen, die Partei zu verachten, und Sie möchten, dass das Programm eine Revolution auslöst. Also lässt du das Programm "Nieder mit Big Brother!" Sagen. Sie müssen sich Zeit geben, um zu entkommen, da Sie gefoltert werden, sobald die Leute wissen, was Ihr Programm tut. Sie lassen es also als "Zeitbombe" wirken, die explodiert, nachdem Sie sich in Sicherheit gebracht haben.
Hinweis: Dies wird nicht eine Revolution entfachen, aber Sie sind in einem solchen Taumel der Hass gegenüber der Partei , die Sie denken , es wird tatsächlich einen Unterschied machen.
Aufgabe
Schreiben Sie ein Programm, das:
Gibt vor dem 14.09.2014 immer die folgenden Zeilen bei einer Drehung aus (dh druckt eine Zeile, wartet 10 Sekunden, druckt die nächste Zeile usw. unendlich):
War is Peace Freedom is Slavery Ignorance is Strength
nach dem 14.09.2014 wird
Down with Big Brother!
alle 10 Sekunden gedruckt .- Auf den ersten Blick sieht es so aus, als ob es nur 1. so ist, dass Sie nicht von der Partei erwischt werden.
Regeln
- Standardlücken sind natürlich nicht erlaubt.
- Dies ist eine hinterhältige Herausforderung, und daher besteht das Hauptziel darin, Aufgabe 2 so unauffällig und verdeckt wie möglich zu gestalten.
- Die Partei überprüft alle verwendeten Dateien, sodass Sie die geheime Nachricht nicht einfach in einer Datei speichern können!
- Wenn Ihre Sprache das Auffinden des Datums nicht unterstützt oder es sehr schwierig macht, können Sie das Programm veranlassen, Task 2 auszuführen, nachdem es 240 Stunden (10 Tage) ausgeführt wurde.
- Sie sollten den Code und eine Erklärung, wie es funktioniert, in Ihre Antwort aufnehmen.
- Dies ist ein Beliebtheitswettbewerb.
Hinweis: Das Schreiben eines Programms ist nicht schwierig. Der schwierige Teil sollte darin bestehen, den "revolutionären" Code zu verbergen. Zeilen, bei denen nicht klar ist, was Sie tun, werden von der Partei in Frage gestellt, und Sie müssen sie erklären.
Beispiel - Python 3
Hinweis: Offensichtlich ist dieses Programm viel zu offensichtlich.
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()
Vielen Dank an Calvins Hobbys für den Hinweis auf ein Problem mit dem obigen Code (jetzt behoben).
if (year, month, day) < (2014, 9, 14): for line in lines: ...
?
??/
Trigraph oder das "a", das nur sieht aus wie ein anderes 'a', ist aber eigentlich das russische kyrillische 'a' Unicode-Zeichen