Passing todo list into file to store/reload
This commit is contained in:
parent
c36762d240
commit
f5afe182a3
36
main.py
36
main.py
|
@ -13,39 +13,65 @@
|
||||||
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
|
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
todos = []
|
# todos = []
|
||||||
|
#todo_length = len(todos)
|
||||||
command_prompt = "Type add, show, edit, complete, or exit: "
|
command_prompt = "Type add, show, edit, complete, or exit: "
|
||||||
todo_prompt = "Enter a todo: "
|
todo_prompt = "Enter a todo: "
|
||||||
edit_prompt = "Number of todo to edit: "
|
edit_prompt = "Number of todo to edit: "
|
||||||
complete_prompt = "Which todo to mark complete: "
|
complete_prompt = "Which todo to mark complete: "
|
||||||
edit_todo = "Enter new todo: "
|
edit_todo = "Enter new todo: "
|
||||||
todo_length = len(todos)
|
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
user_action = input(command_prompt)
|
user_action = input(command_prompt)
|
||||||
user_action = user_action.strip()
|
user_action = user_action.strip()
|
||||||
match user_action:
|
match user_action:
|
||||||
case 'add':
|
case 'add':
|
||||||
todo = input(todo_prompt)
|
todo = input(todo_prompt) + "\n"
|
||||||
|
file = open('todos.txt', 'r')
|
||||||
|
todos = file.readlines()
|
||||||
|
file.close()
|
||||||
|
|
||||||
todo = todo.capitalize()
|
todo = todo.capitalize()
|
||||||
todos.append(todo)
|
todos.append(todo)
|
||||||
|
|
||||||
|
file = open('todos.txt', 'w')
|
||||||
|
file.writelines(todos)
|
||||||
|
file.close()
|
||||||
case 'show' | 'display':
|
case 'show' | 'display':
|
||||||
|
file = open('todos.txt', 'r')
|
||||||
|
todos = file.readlines()
|
||||||
|
file.close()
|
||||||
for i, todo in enumerate(todos):
|
for i, todo in enumerate(todos):
|
||||||
text = f"{i}: {todo}"
|
t = todo.replace("\n","")
|
||||||
|
text = f"{i+1}: {t}"
|
||||||
print(text)
|
print(text)
|
||||||
case 'edit':
|
case 'edit':
|
||||||
|
file = open('todos.txt', 'r')
|
||||||
|
todos = file.readlines()
|
||||||
|
file.close()
|
||||||
which_todo = int(input(edit_prompt)) - 1
|
which_todo = int(input(edit_prompt)) - 1
|
||||||
new_todo = input(edit_todo)
|
new_todo = input(edit_todo)
|
||||||
todos[which_todo] = new_todo
|
todos[which_todo] = new_todo
|
||||||
|
file = open('todos.txt', 'w')
|
||||||
|
file.writelines(todos)
|
||||||
|
file.close()
|
||||||
case 'complete':
|
case 'complete':
|
||||||
|
file = open('todos.txt', 'r')
|
||||||
|
todos = file.readlines()
|
||||||
|
file.close()
|
||||||
|
|
||||||
completed = int(input(complete_prompt)) - 1
|
completed = int(input(complete_prompt)) - 1
|
||||||
completed_message = f"'{todos[completed]}' has been completed!"
|
completed_message = f"'{todos[completed]}' has been completed!"
|
||||||
print(completed_message)
|
print(completed_message)
|
||||||
todos.pop(completed)
|
todos.pop(completed)
|
||||||
print("Remaining todos: ")
|
print("Remaining todos: ")
|
||||||
for i, todo in enumerate(todos):
|
for i, todo in enumerate(todos):
|
||||||
text = f"{i}: {todo}"
|
t = todo.replace("\n","")
|
||||||
|
text = f"{i+1}: {t}"
|
||||||
print(text)
|
print(text)
|
||||||
|
file = open('todos.txt', 'w')
|
||||||
|
file.writelines(todos)
|
||||||
|
file.close()
|
||||||
case 'exit':
|
case 'exit':
|
||||||
break
|
break
|
||||||
case _:
|
case _:
|
||||||
|
|
Loading…
Reference in New Issue