Dec-19-2017, 12:54 PM
In that case, here you go. As I stated before, this is poorly written, and could be redone:
import json geek = {"404": "clueless. From the web error message 404, meaning page not found.", "Googling": "searching the Internet for background information on a person.", "Keyboard Plaque": "the collection of debris found in computer keyboards.", "Link Rot": "the process by which web page links become obsolete.", "Percussive Maintenance": "the act of striking an electronic device to make it work.", "Uninstalled": "being fired. Especially popular during the dot-bomb era."} choice = None filename = None filechoice = None def get_filename(filename): if filename is not None: print('Do you want to use the file named {}? :'.format(filename)) filechoice = None validchoices = ['y', 'Y', 'n', 'N'] while filechoice not in validchoices: filechoice = input('Enter Y or N: ') if filechoice == 'n' or filechoice == 'N': filename = input("Please enter file name: ") else: filename = input("Please enter file name you wish to use: ") return filename while choice != "0": print( """ Geek Translator 0 - Quit 1 - Look Up a Geek Term 2 - Add a Geek Term 3 - Redefine a Geek Term 4 - Delete a Geek Term 5 - Save as json file 6 - Load from json file """ ) choice = input("Choice: ") print() # exit if choice == "0": print("Good-bye.") # get a definition elif choice == "1": term = input("What term do you want me to translate?: ") if term in geek: definition = geek[term] print("\n", term, "means", definition) else: print("\nSorry, I don't know", term) # add a term-definition pair elif choice == "2": term = input("What term do you want me to add?: ") if term not in geek: definition = input("\nWhat's the definition?: ") geek[term] = definition print("\n", term, "has been added.") else: print("\nThat term already exists! Try redefining it.") # redefine an existing term elif choice == "3": term = input("What term do you want me to redefine?: ") if term in geek: definition = input("What's the new definition?: ") geek[term] = definition print("\n", term, "has been redefined.") else: print("\nThat term doesn't exist! Try adding it.") # delete a term-definition pair elif choice == "4": term = input("What term do you want me to delete?: ") if term in geek: del geek[term] print("\nOkay, I deleted", term) else: print("\nI can't do that!", term, "doesn't exist in the dictionary.") # save to json file elif choice == "5": filename = get_filename(filename) with open(filename, 'w') as fout: json.dump(geek, fout) # load json file elif choice == "6": filename = get_filename(filename) with open(filename, 'r') as fin: geek = json.load(fin) # some unknown choice else: print("\nSorry, but", choice, "isn't a valid choice.") input("\n\nPress the enter key to exit.")