Note that there are some explanatory texts on larger screens.

plurals
  1. POPython code to generate random entries from multiple lists
    primarykey
    data
    text
    <p>I'm new to Python and am trying to write a code that will generate the core elements of a story by choosing one random entry from the lists [characters] [traits] [themes] [locations] and [lines]. The code I have written is below.</p> <p>I have 2 questions: </p> <p>1) At the moment the code will allow me to create new entries in each list but when I close down Python and restart the program the entries I created are gone. How can I make it so that new entries are permanently stored in the lists? Do I need some kind of database? </p> <p>2) The code for 6. Storybox - the main thing I want the program to do! - is not working. Any suggestions as to how I can get Python to print a randomly selected entry from each list?</p> <p>Thanks in advance for your help.</p> <pre><code>#Storybox program #Generates a random selection of my story ideas characters = [] traits = [] locations = [] themes = [] lines = [] choice = None while choice != "0": print( """ Storybox: 0 - Exit 1 - Add character 2 - Add trait 3 - Add location 4 - Add theme 5 - Add line 6 - Generate Story 7 - View all entries """ ) choice = input("Choice: ") print() #exit if choice == "0": print("Goodbye") #add a character elif choice == "1": character = input("Enter character: ") characters.append(character) #add a trait elif choice == "2": trait = input("Enter character trait: ") traits.append(trait) #add a location elif choice == "3": location = input("Enter location: ") locations.append(location) #add a theme elif choice == "4": theme = input("Enter theme: ") themes.append(theme) #add good lines elif choice == "5": line = input("Enter good line: ") lines.append(line) #Generate storybox elif choice == "6": print("Your storybox is....") storyboxcharacter = random.choice(characters) print(storyboxcharacter) storyboxtrait = random.choice(traits) print(storyboxtrait) storyboxtheme = random.choice(themes) print(storyboxtheme) storyboxlocation = random.choice(locations) print(storyboxlocation) storyboxline = random.choice(lines) print(storyboxline) #Display all entries so far elif choice == "7": print("Characters:") for character in characters: print(character) print("Traits:") for trait in traits: print(trait) print("Themes:") for theme in themes: print(theme) print("Locations:") for location in locations: print(location) print("Good lines:") for line in lines: print(line) input("\n\nPress the enter key to exit.") </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload