En esta sección, vamos a hacer un proyecto de Python para principiantes muy interesante. Es un generador de historias aleatorias. El proyecto generador de historias aleatorias tiene como objetivo generar historias aleatorias cada vez que el usuario ejecuta el código. Una historia se compone de una colección de oraciones. Elegiremos frases aleatorias para construir oraciones y, por lo tanto, historias.
Ahora, la pregunta pertinente es: ¿cómo lo haremos? Su respuesta es muy sencilla:
- Primero pondremos los elementos de la historia en diferentes listas.
- Luego usaremos el módulo aleatorio para seleccionar partes aleatorias de la historia recopiladas en diferentes listas.
- Y luego concatenarlos para hacer una historia.
Haremos uso de la función random.choice(). Antes de comenzar, veamos un ejemplo de cómo funciona random.choice().
Python3
import random # list of books is stored in the list -'books' books = ['Mother', 'Midnight Children', 'My experiments with truth'] # An item from the list 'books' is selected # by random.choice() print(random.choice(books))
Midnight Children
Como podemos ver, la función random.choice() básicamente selecciona un elemento de una lista de elementos.
Los siguientes son los pasos involucrados en este proyecto generador de historias aleatorias.
1. Importe el módulo aleatorio, ya que es un módulo integrado de python. Por lo tanto, no hay necesidad de instalarlo manualmente.
Python3
# Importing random module import random
2. Defina varias listas de frases. Aquí, hemos definido ocho listas. Podemos definir más también, depende totalmente de nuestra elección.
- Sentence_starter: esta lista da una idea sobre la hora del evento.
- personaje: esta lista habla sobre el personaje principal de esta historia.
- time – Esta lista define el día exacto en el que ha ocurrido algún incidente.
- story_plot: esta lista define la trama de la historia.
- lugar: esta lista define el lugar en el que ocurrió el incidente.
- second_character: esta lista define el segundo personaje de la historia.
- edad: esta lista define la edad del segundo personaje.
- trabajo: esta lista informa sobre el trabajo que estaba haciendo el segundo personaje.
Python3
# Defining list of phrases which will help to build a story Sentence_starter = ['About 100 years ago', ' In the 20 BC', 'Once upon a time'] character = [' there lived a king.',' there was a man named Jack.', ' there lived a farmer.'] time = [' One day', ' One full-moon night'] story_plot = [' he was passing by', ' he was going for a picnic to '] place = [' the mountains', ' the garden'] second_character = [' he saw a man', ' he saw a young lady'] age = [' who seemed to be in late 20s', ' who seemed very old and feeble'] work = [' searching something.', ' digging a well on roadside.']
3. Con la ayuda de random.choice(), seleccione un elemento de cada lista y concatene los elementos seleccionados para generar oraciones para la historia.
Python3
# Selecting an item from each list and concatenating them. print(random.choice(Sentence_starter)+random.choice(character)+ random.choice(time)+random.choice(story_plot)+ random.choice(place)+random.choice(second_character)+ random.choice(age)+random.choice(work))
Implementación:
Probemos la implementación completa con la ayuda de un ejemplo.
Python3
# Importing random module import random # Defining list of phrases which will help to build a story Sentence_starter = ['About 100 years ago', ' In the 20 BC', 'Once upon a time'] character = [' there lived a king.',' there was a man named Jack.', ' there lived a farmer.'] time = [' One day', ' One full-moon night'] story_plot = [' he was passing by',' he was going for a picnic to '] place = [' the mountains', ' the garden'] second_character = [' he saw a man', ' he saw a young lady'] age = [' who seemed to be in late 20s', ' who seemed very old and feeble'] work = [' searching something.', ' digging a well on roadside.'] # Selecting an item from each list and concatenating them. print(random.choice(Sentence_starter)+random.choice(character)+ random.choice(time)+random.choice(story_plot) + random.choice(place)+random.choice(second_character)+ random.choice(age)+random.choice(work))
Producción:
En el 20 aC vivía un rey. Un día, mientras iba de picnic a las montañas, vio a un hombre que parecía tener unos 20 años cavando un pozo al borde de la carretera.
De esta forma, podemos compilar y ejecutar este código tantas veces como queramos. Y se generarán diferentes cuentos.