¿Cómo construir un generador de historias aleatorias usando Python?

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))
Producción

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.

Publicación traducida automáticamente

Artículo escrito por error_502 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *