1
resposta

[Projeto] Gerenciador de tarefas

# Hub de Tarefas que permite ao usuário adicionar, visualizar e remover tarefas 

import os
# Função para mostrar o menu de opções para o usuário
def mostrar_menu():
    print("\n***Hub de Tarefas***\n")
    print("1. Adicionar Tarefa")
    print("2. Visualizar Tarefas")
    print("3. Remover Tarefa")
    print("4. Sair")
# Função para adicionar uma tarefa à lista de tarefas
def adicionar_tarefa(tarefas):
    tarefa = input("Digite a tarefa que deseja adicionar: ")
    tarefas.append(tarefa)
    print("Tarefa adicionada com sucesso!")
    voltar_ao_menu()
# Função para visualizar as tarefas cadastradas
def visualizar_tarefas(tarefas):
    if not tarefas:
        print("Nenhuma tarefa cadastrada.")
    else:
        print("\nTarefas:")
        for i, tarefa in enumerate(tarefas, start=1):
            print(f"{i}. {tarefa}")
    voltar_ao_menu()
# Função para remover uma tarefa da lista de tarefas
def remover_tarefa(tarefas):
    if not tarefas:
        print("Nenhuma tarefa cadastrada.")
    else:
        visualizar_tarefas(tarefas)
        try:
            indice = int(input("Digite o número da tarefa que deseja remover: ")) - 1
            if 0 <= indice < len(tarefas):
                tarefas.pop(indice)
                print("Tarefa removida com sucesso!")
            else:
                print("Índice inválido.")
        except ValueError:
            print("Entrada inválida. Por favor, digite um número.")   
# Função principal que controla o fluxo do programa        
def main():
    tarefas = []
    while True:
        mostrar_menu()
        escolha = input("Escolha uma opção: ")
        if escolha == '1':
            adicionar_tarefa(tarefas)
        elif escolha == '2':
            visualizar_tarefas(tarefas)
        elif escolha == '3':
            remover_tarefa(tarefas)
        elif escolha == '4':
            print("Saindo do Hub de Tarefas. Até mais!")
            break
        else:
            print("Opção inválida. Por favor, tente novamente.")
# Função para limpar a tela do terminal
def limpar_tela():
    os.system('cls' if os.name == 'nt' else 'clear')
# Função para pausar o programa e esperar o usuário pressionar Enter para voltar ao menu
def voltar_ao_menu():
    input("Pressione Enter para voltar ao menu...")
    limpar_tela()
# Ponto de entrada do programa
if __name__ == "__main__":    limpar_tela()
main()

Divertido criar esse Hub! Tentei deixar o código o mais limpo possível...

1 resposta

Oi, Vinícius! Como vai?

Achei muito legal como você organizou o fluxo do programa usando funções bem definidas como adicionar_tarefa, visualizar_tarefas e remover_tarefa. Isso deixa o código limpo e fácil de manter. Também curti o uso de enumerate para listar as tarefas, ficou bem claro para o usuário interagir com o índice.

Uma dica interessante para o futuro é usar list comprehension para manipular listas de forma mais direta. Veja este exemplo:


tarefas = ["estudar", "praticar", "revisar"]
tarefas_maiusculas = [tarefa.upper() for tarefa in tarefas]
print(tarefas_maiusculas)

Esse código percorre a lista e cria uma nova com todas as tarefas em maiúsculo, deixando o processamento mais enxuto.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!