Добавление номеров задач - PullRequest
0 голосов
/ 06 февраля 2020

Может ли кто-нибудь помочь мне добавить номера задач в мой текущий код. Я написал код для пользователей, чтобы добавить задачи для разных пользователей, но теперь мне нужно добавить номера задач в текст вывода моей задачи. Текущий текст отображается следующим образом:

Пользователь назначен на задачу:
jake

Название задачи:

walk

Описание задачи :

выгуливать собаку

Дата выполнения задания:

2020-03-02

Назначенная дата:

2020-02- 05

Задание выполнено:

Нет

Теперь все, что мне нужно, это вывод:

Пользователь назначен на Задача 1:

Джейк

Название задачи:

прогулка

Описание задачи:

прогулка с собакой

Дата выполнения задачи:

2020-03-02

Назначенная дата:

2020-02-05

Задание выполнено:

Нет

, а также возможность отображать заданную задачу c по номеру, если пользователь ее запрашивает. Так что, если номера задач могут быть вызваны вообще, это действительно поможет.

мой текущий код:

def add_task():
 if menu == "a" or menu == "A":
    with open( 'user.txt' ) as fin :    
        usernames = [i.split(',')[0] for i in fin.readlines() if len(i) > 3]
        task = input ("Please enter the username of the person the task is assigned to.\n")
    while task not in usernames :
        task = input("Username not registered. Please enter a valid username.\n")
    else:
        task_title = input("Please enter the title of the task.\n")
        task_description = input("Please enter the task description.\n")
        task_due = input("Please input the due date of the task. (yyyy-mm-dd)\n")
        date = datetime.date.today()
        task_completed = False
        if task_completed == False:
            task_completed = "No"
        else:
            task_completed = ("Yes")
        with open('tasks.txt', 'a') as task1:
            task1.write("\nUser assigned to task:\n" + task + "\nTask Title :"  + "\n" + task_title + "\n" + "Task Description:\n" + task_description + "\n" + "Task Due Date:\n" + task_due + "\n" + "Date Assigned:\n" + str(date) + "\n" + "Task Completed:\n" + task_completed + "\n")
            print("The new assigned task has been saved")
add_task()

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 06 февраля 2020

Для начального контекста файла, например:

task 1
description: something

Вам нужно прочитать файл и найти номер последней задачи. Затем создайте новое задание с номером, увеличенным на 1, и добавьте его в файл.

import re

data = open('test.txt', 'r')
listed_data = data.readlines()

# get last task number
last_task = [line for line in listed_data if 'task' in line][-1]
current_task_number = int(re.findall('\d+', last_task)[0])


# add new task with new number
def add_task(number):
    file = open('test.txt', 'a')
    file.write('task ' + str(number+1) + '\n')
    file.write('description: ' + str('something') + '\n')
    file.close()

add_task(current_task_number)

Вывод:

task 1
description: something
task 2
description: something
task 3
description: something
...