Pequeño Programita

La verdad es que no recuerdo muy bien de donde lo saque. Es un pequeño programita escrito en python bastante curioso.

Tiene una lista de oraciones muy ambiguas divididas en partes de forma que, juntando aleatoriamente unas partes con otras, se forma una frase que tiene sentido gramatical correcto pero no tiene ningun contenido. Yo lo asemejo a los discursos politicos, los cuales tratan siempre de decir de forma “culta” y complicada algo que de por si era bien simple y facil de entender. Aqui os dejo unos cuantos ejemplos para entenderlo mejor:

Es obvio señalar que, el reforzamiento y desarrollo de las estructuras habrá de significar un auténtico y eficaz punto de partida de toda una casuística de amplio espectro.

Las experiencias ricas y diversas muestran que, el proceso consensuado de unas y otras aplicaciones concurrentes obstaculiza la apreciación de la importancia de las directivas de desarrollo para el futuro.

La abrumadora evidencia de la debacle en el desarrollo continuo de distintas formas de actividad ralentiza el comienzo y el adecuado desarrollo del modelo de desarrollo.

Por último, y como definitivo elemento esclarecedor, cabe añadir que, el nuevo modelo de actividad de la organización, asegura, en todo caso, un proceso muy sensible de inversión de los puntos de partida en los criterios administrativos.

Bueno, estos son algunas de las muchas posibilidades que ofrece, ya que esta compuesto por 19 frases divididas en 4 partes que de juntan de forma aleatoria.

De todas formas, originalmente solo constaba de 14 frases y luego entre un amigo y yo modificamos el programa, cuya licencia es GPL, para que las posibilidades fueran mayores y no se repitiera tanto. Como el codigo es abierto, vosotros tambien podeis modificarlo añadiendo vuestras propias frases. No hace falta ni saber programas ni nada, solamente hay que abrir el archivo con un editor de texto y entender la logica para poder modificarlo correctamente.

Aqui os dejo el codigo:

#!/usr/bin/python
# -*- coding: utf-8 -*-

#Copyright (C) 2008 by José Luis Di Biase <josx@interorganic.com.ar>

#This program is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation, either version 3 of the License, or
#(at your option) any later version.

#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.

#You should have received a copy of the GNU General Public License
#along with this program.  If not, see <http://www.gnu.org/licenses/&gt;.

import random

textos_diferentes = 4
pedazos_discursos = [19,19,19,19];

posibles_discursos = []
for i in range(textos_diferentes):
a = [0] * pedazos_discursos[i]
posibles_discursos.append ( a )

#Primera parte del discurso
posibles_discursos[0][0] = ‘Queridos compañeros,’
posibles_discursos[0][1] = ‘Por otra parte, y dados los condicionamientos actuales,’
posibles_discursos[0][2] = ‘Asimismo, no debemos obviar que,’
posibles_discursos[0][3] = ‘Sin embargo no hemos de olvidar que’
posibles_discursos[0][4] = ‘De igual manera,’
posibles_discursos[0][5] = ‘La práctica de la vida cotidiana prueba que,’
posibles_discursos[0][6] = ‘No es indispensable argumentar el peso y la significación de estos problemas ya que,’
posibles_discursos[0][7] = ‘Las experiencias ricas y diversas muestran que,’
posibles_discursos[0][8] = ‘El afán de organización, pero sobre todo’
posibles_discursos[0][9] = ‘Los superiores principios ideológicos, condicionan que’
posibles_discursos[0][10] = ‘Incluso, bien pudiéramos atrevernos a sugerir que’
posibles_discursos[0][11] = ‘Es obvio señalar que,’
posibles_discursos[0][12] = ‘Pero pecaríamos de insinceros si soslayásemos que,’
posibles_discursos[0][13] = ‘Y además, quedaríamos inmersos en la más abyecta de las estulticias si no fueramos conscientes de que,’
posibles_discursos[0][14] = ‘Por último, y como definitivo elemento esclarecedor, cabe añadir que,’
posibles_discursos[0][15] = ‘Las circunstancias nos fuerzan a decir que,’
posibles_discursos[0][16] = ‘La abrumadora evidencia de la debacle en’
posibles_discursos[0][17] = ‘Tras los ultimos acontecimientos, hemos decidido que,’
posibles_discursos[0][18] = ‘Siguiendo los habituales procesos irremisiblemente necesarios hemos concluido que,’

#Segunda parte del discurso
posibles_discursos[1][0] = ‘la realización de las premisas del programa’;
posibles_discursos[1][1] = ‘la complejidad de los estudios de los dirigentes’;
posibles_discursos[1][2] = ‘el aumento constante, en cantidad y en extensión, de nuestra actividad’
posibles_discursos[1][3] = ‘la estructura actual de la organización’
posibles_discursos[1][4] = ‘el nuevo modelo de actividad de la organización,’
posibles_discursos[1][5] = ‘el desarrollo continuo de distintas formas de actividad’
posibles_discursos[1][6] = ‘nuestra actividad de información, propaganda y concienciacion’
posibles_discursos[1][7] = ‘el reforzamiento y desarrollo de las estructuras’
posibles_discursos[1][8] = ‘la consulta con los numerosos militantes’
posibles_discursos[1][9] = ‘el inicio de la acción general de formación de las prometedoras nuevas actitudes’
posibles_discursos[1][10] = ‘un relanzamiento específico de todos los sectores implicados’
posibles_discursos[1][11] = ‘la superación de experiencias periclitadas’
posibles_discursos[1][12] = ‘una aplicación indiscriminada de los factores confluyentes’
posibles_discursos[1][13] = ‘la condición sine qua non rectora del proceso’
posibles_discursos[1][14] = ‘el proceso consensuado de unas y otras aplicaciones concurrentes’
posibles_discursos[1][15] = ‘el aumento desmesurado del precio de las materias primas’
posibles_discursos[1][16] = ‘la incipiente evolucion realizada en la estructura administrativa del marco temporal actual’
posibles_discursos[1][17] = ‘la nueva faceta del organismo logistico’
posibles_discursos[1][18] = ‘el establecimiento de una nueva situacion socio-politico-cultural’

#Tercera parte del discurso
posibles_discursos[2][0] = ‘nos obliga a un exhaustivo análisis’;
posibles_discursos[2][1] = ‘cumple un rol esencial en la formación y estructuracion’;
posibles_discursos[2][2] = ‘exige la precisión y la determinación’
posibles_discursos[2][3] = ‘ayuda a la preparación y a la realización’
posibles_discursos[2][4] = ‘garantiza la participación de un grupo importante en la realizacion’
posibles_discursos[2][5] = ‘cumple deberes importantes en la determinación’
posibles_discursos[2][6] = ‘facilita la maniobrabilidad en la creación’
posibles_discursos[2][7] = ‘obstaculiza la apreciación de la importancia’
posibles_discursos[2][8] = ‘ofrece un ensayo interesante de verificación’
posibles_discursos[2][9] = ‘implica el proceso de reestructuración y modernización’
posibles_discursos[2][10] = ‘habrá de significar un auténtico y eficaz punto de partida’
posibles_discursos[2][11] = ‘permite, en todo caso, explicitar las razones fundamentales’
posibles_discursos[2][12] = ‘asegura, en todo caso, un proceso muy sensible de inversión’
posibles_discursos[2][13] = ‘radica en una elaboración cuidadosa y sistemática de las estrategias adecuadas’
posibles_discursos[2][14] = ‘deriva de una indirecta incidencia superadora’
posibles_discursos[2][15] = ‘hace necesaria una intervecion por parte de personas capacitadas que realicen un estudio’
posibles_discursos[2][16] = ‘acelera la redistribucion de las prioridades’
posibles_discursos[2][17] = ‘ralentiza el comienzo y el adecuado desarrollo’
posibles_discursos[2][18] = ‘desencadena una percepcion inadecuada’

#Cuarta parte del discurso
posibles_discursos[3][0] = ‘de las condiciones financieras y administrativas existentes.’;
posibles_discursos[3][1] = ‘de las directivas de desarrollo para el futuro.’;
posibles_discursos[3][2] = ‘del sistema de participación general.’
posibles_discursos[3][3] = ‘de las actitudes de los miembros hacia sus deberes ineludibles.’
posibles_discursos[3][4] = ‘de las nuevas proposiciones.’
posibles_discursos[3][5] = ‘de las direcciones educativas en el sentido del progreso.’
posibles_discursos[3][6] = ‘del sistema de formación de cuadros que corresponda a las necesidades.’
posibles_discursos[3][7] = ‘de las condiciones de las actividades apropiadas.’
posibles_discursos[3][8] = ‘del modelo de desarrollo.’
posibles_discursos[3][9] = ‘de las formas de acción.’
posibles_discursos[3][10] = ‘de las básicas premisas adoptadas.’
posibles_discursos[3][11] = ‘de toda una casuística de amplio espectro.’
posibles_discursos[3][12] = ‘de los elementos generadores.’
posibles_discursos[3][13] = ‘para configurar una interface amigable y coadyuvante a la reingeniería del sistema.’
posibles_discursos[3][14] = ‘de toda una serie de criterios ideológicamente sistematizados en un frente común de actuación regeneradora.’
posibles_discursos[3][15] = ‘del sistema de seleccion general.’
posibles_discursos[3][16] = ‘del proyecto de expansion globalizada.’
posibles_discursos[3][17] = ‘de los axiomas organizativos.’
posibles_discursos[3][18] = ‘de los puntos de partida en los criterios administrativos.’

#Constuyendo el discurso final buscando partes aleatorias en cada parte del discuro
discurso =  posibles_discursos[0][random.randint(0, pedazos_discursos[0]-1)] + ” ” + posibles_discursos[1][random.randint(0, pedazos_discursos[1]-1)] + ” ” + posibles_discursos[2][random.randint(0, pedazos_discursos[2]-1)] + ” ” +posibles_discursos[3][random.randint(0, pedazos_discursos[3]-1)]

print discurso

Como veis, se entiende con solo leerlo, no tiene ninguna conplicacion. Si se quieren añadir frases solo hay que escribirlas siguiendo la numeracion e indicar la cantidad de pedazos de discursos que hay en cada parte al principio. Para poder utilizar el programa, simplemente copiad todo el codigo en un editor de texto y ya esta, o sino descargad el archivo desde aqui:

Para ejecutarlo, abris una terminal y os dirigis al directorio donde se encuentra el programa. Luego hay que escribir:

python politica.py

donde “politica.py” es el nombre del archivo, en mi caso.

Ya se que es una chorrada de programa, pero me parecia curioso lo facil que es hacer un discurso que parece mas de lo que es en realidad.

Si os animais, escribid en los comentarios frases que se os acurran para completar el programa e ire actualizando con los cambios. Recordad que la logica de la frase tiene que ser como las que ya estan escritas: frases cultas y lo suficientemente ambiguas como para encajar bien sea cual sea la frase que le precede o le sigue. Parece facil, pero luego te das cuenta de que cualquier cosa no funciona.

De verdad, cuando leo frases hechas por este programa me suenan a discurso politico. A veces me pregunto si utilizaran algo asi para poder hablar durante horas y horas sin decir nada, tal y como sucede en la realidad.

4 comentarios

  1. jaja muy bueno. Un amigo y yo habíamos hecho algo parecido en python pero para firmas de metroflogs jajaja, bastante útil cuando tienes amigos que cada rato te piden firmas.

  2. sólo haz que las frases las lea desde un fichero o algo, así cuando podrías estar actualizando tu fichero, y tener cada vez más discursos posibles.

  3. Muy bueno; yo también voy a publicarlo en mi blog.

  4. […] en Python para generar discursos aleatorios Acabo de ver en OcioLinux este programa, que puede ser muy útil para sustituir a los políticos que padecemos últimamente […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: