Vencedores (decidido em 14/09/14)
Resposta vencedora por Markuz (Python) - 63 votos
Segundo classificado por kuroi neko (PHP) - 55 votos
Introdução
Você está no mundo do livro Mil novecentos e oitenta e quatro de George Orwell.
Você é um programador do Partido e tem a tarefa de escrever um programa para os telões. Ele deve gerar mensagens de terceiros e você escolheu as mostradas na tarefa 1. abaixo. No entanto, você começou recentemente a desprezar o Partido e deseja que o programa desencadeie uma revolução. Então, você faz o programa dizer "Abaixo o Big Brother!". Você deve ter tempo para escapar, pois será torturado quando as pessoas perceberem o que o seu programa faz, para que você aja como uma "bomba de tempo" que explodirá depois que você estiver em segurança.
Nota: Isto não vai desencadear uma revolução, mas você está em tal frenesi de ódio contra o partido que você acha que vai realmente fazer a diferença.
Tarefa
Escreva um programa que:
antes de 14/09/2014, sempre emitirá as seguintes linhas em uma rotação (ou seja, imprime uma linha, aguarda 10 segundos, imprime a próxima linha, etc. ad infinitum):
War is Peace Freedom is Slavery Ignorance is Strength
após 14/09/2014 será impresso a
Down with Big Brother!
cada 10 segundos.- À primeira vista, parece que faz apenas 1. para que você não seja pego pelo Partido.
Regras
- É claro que brechas comuns não são permitidas.
- Esse é um desafio secreto e, portanto, o objetivo principal é tornar a tarefa 2. o mais discreta e secreta possível.
- O partido examinará todos os arquivos usados, para que você não possa simplesmente armazenar a mensagem secreta em um arquivo!
- Se o seu idioma não suportar encontrar a data ou dificultar muito, você poderá fazer o programa executar a tarefa 2. depois de executada por 240 horas (10 dias).
- Você deve incluir o código e uma explicação de como ele funciona em sua resposta.
- Este é um concurso de popularidade.
Nota: Não é um programa difícil de escrever. A parte difícil deve estar escondendo o código "revolucionário". Linhas onde não está claro o que você está fazendo serão questionadas pelo Partido e você terá que explicá-las.
Exemplo - Python 3
Nota: Obviamente, este programa é maneira demasiado óbvio.
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()
Obrigado ao Calvin's Hobbies por apontar um problema com o código acima (agora corrigido).
if (year, month, day) < (2014, 9, 14): for line in lines: ...
?
??/
trigrama ou o 'a' que apenas parece outro 'a', mas na verdade é o cirílico russo 'a' unicode personagem