Case 2
unknown
python
3 years ago
3.7 kB
5
Indexable
import os import json todo = [] def clear(): if os.name == 'nt': os.system('cls') elif os.name == 'posix': os.system('clear') def menu(): print('*****************************') print(' Todoify ') print('-----------------------------') print('list | List todos ') print('add | Add todo ') print('check | Check todo ') print('delete | Delete todo ') print('-----------------------------') print('save | Save todos to file ') print('load | Load todos from file') print('-----------------------------') def add(): print('-----------------------------') itemToAdd = input('Todo description > ') todo.append(['[ ]',itemToAdd]) print('-----------------------------') print('\nSUCCESS: Todo added\n') def list_todo(): print('-----------------------------') for item in todo: print (item[0], item[1]) def check(): print('-----------------------------') for index, item in enumerate(todo): print (index, '|', item[0], item[1]) print('-----------------------------') indexOfItemToCheck = input('Todo index > ') try: indexOfItemToCheck = int(indexOfItemToCheck) if todo[indexOfItemToCheck][0] == '[X]': todo[indexOfItemToCheck][0] = '[ ]' print('-----------------------------') print('\nSUCCESS: CHECKED -> UNCHECKED\n') elif todo[indexOfItemToCheck][0] == '[ ]': todo[indexOfItemToCheck][0] = '[X]' print('-----------------------------') print('\nSUCCESS: UNCHECKED -> CHECKED\n') except IndexError: print('-----------------------------') print('\nERROR: ', indexOfItemToCheck, ' is not a valid index\n') except ValueError: print('-----------------------------') print('\nERROR: ', indexOfItemToCheck, ' is not a valid integer\n') def delete(): print('-----------------------------') for index, item in enumerate(todo): print (index,' | ', item[0], item[1]) print('-----------------------------') indexOfItemToDelete = input('Todo index > ') try: indexOfItemToDelete = int(indexOfItemToDelete) del todo[indexOfItemToDelete] print('-----------------------------') print('\nSUCCESS: Todo deleted\n') except IndexError: print('-----------------------------') print('\nERROR: ',indexOfItemToDelete, ' is not a valid index\n') except ValueError: print('-----------------------------') print('\nERROR: ',indexOfItemToDelete, ' is not a valid integer\n') def saveToFileAsJson(): print('-----------------------------') file = open('case2fil.json','w') list_json = json.dumps(todo) file.write(list_json) file.close() print('\nSUCCESS: Todos saved to file\n') def loadFromJsonFile(): print('-----------------------------') filejson = open('case2fil.json') todo = json.loads(filejson.read()) filejson.close() print('\nSUCCESS: Todos loaded from file\n') while True: clear() menu() selection = input('Selection > ').lower() if selection == 'list': list_todo() elif selection == 'add': add() elif selection == 'check': check() elif selection == 'delete': delete() elif selection == 'save': saveToFileAsJson() elif selection == 'load': loadFromJsonFile() else: print('-----------------------------') print('\nERROR: Unknown command', '(' + selection + ')\n') print('-----------------------------') input('Press enter to continue...')
Editor is loading...