0% found this document useful (0 votes)
7 views

Mid-term-Python Project Ideas

Uploaded by

Asif Nexus
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Mid-term-Python Project Ideas

Uploaded by

Asif Nexus
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

TABLE OF CONTENTS

Project: To-Do List Manager .........................................................................................................................................2


Description: ............................................................................................................................................... 2
Features: .................................................................................................................................................... 2
User Interface (CLI):................................................................................................................................. 2
Project: Expense Tracker ...............................................................................................................................................5
Description: ............................................................................................................................................... 5
Features: .................................................................................................................................................... 5
User Interface (CLI):................................................................................................................................. 6
Project: Contact Book ....................................................................................................................................................9
Description: ............................................................................................................................................... 9
Features: .................................................................................................................................................... 9
User Interface (CLI):............................................................................................................................... 10
Project: Quiz Game .....................................................................................................................................................13
Description: ............................................................................................................................................. 13
Features: .................................................................................................................................................. 13
User Interface (CLI):............................................................................................................................... 13
Project: Task Scheduler ...............................................................................................................................................16
Description: ............................................................................................................................................. 16
Features: .................................................................................................................................................. 16
User Interface (CLI):............................................................................................................................... 17

(i)
PROJECT: TO-DO LIST MANAGER

DESCRIPTION:

Create a command-line interface (CLI) application that allows users to manage their to-do lists.
Users can add tasks, mark tasks as complete, view their to-do list, and remove tasks. The
application will utilize data structures like lists and dictionaries to store and manipulate the to-do
list data.

FEATURES:

1. Add a task: Users can add a new task to their to-do list by providing a task description. The tasks
can be added with a priority number and with a due date or without this information so that later
this task can be modified.

2. Complete a task: Users can mark a task as complete by specifying the task number.

3. View to-do list: Users can view their entire to-do list with all the tasks and their completion
status sorted by priority number, then due date, and those do not have any due date or priority
number they will be shown at the bottom of the list.

4. Remove a task: Users can remove a task from their to-do list by specifying the task number.

5. Save tasks: Users can save the current task list with all information to a file and later load the
file to view the task with all information like, current task, completed task, task priority, task due
date.

6. Add priority: Users can modify the task by adding priority to any existing task.

7. Add due date: Users can modify the task by adding due date to any existing task.

USER INTERFACE (CLI):

To-Do List Manager

------------------

1. Add a task

2. Complete a task

3. View to-do list sorted by due date

Page 2 of 19
4. Remove a task

5. Save the task list to file

6. Add priority to task

7. Add due date to task

8. Exit

Enter your choice (1-8): 1

Enter task description: Buy groceries

Task added successfully!

Enter your choice (1-8): 1

Enter task description: Pay bills

Task added successfully!

Enter your choice (1-8): 3

To-Do List:

1. [ ] Buy groceries

2. [ ] Pay bills

Enter your choice (1-8): 2

Enter the task number to mark as complete: 1

Task marked as complete!

Enter your choice (1-8): 3

To-Do List:

Page 3 of 19
1. [X] Buy groceries

2. [ ] Pay bills

Enter your choice (1-8): 4

Enter the task number to remove: 2

Task removed successfully!

Enter your choice (1-8): 3

To-Do List:

1. [X] Buy groceries

Enter your choice (1-8): 8

Exiting...

Page 4 of 19
PROJECT: EXPENSE TRACKER

DESCRIPTION:

Expense Tracker is a command-line interface (CLI) application that helps users track their
expenses. It allows users to manage their financial transactions, view expense details, and calculate
total expenses within a specified date range. The application utilizes data structures like lists and
dictionaries to store and manipulate expense data.

FEATURES:

1. Add an Expense: Users can add a new expense by entering details such as date, category,
description, and amount. The input must be validated, for example negative amount can not be
added, the category must be defined previously, if no category is found then the new category need
to be added to the category list.

2. View Expense List: Users can view their expense list, which displays all expenses with their
corresponding details, including date, category, description, and amount.

3. Filter Expenses: Users can filter expenses based on specific criteria such as date range, category,
or a combination of both. The filtered list will display expenses that match the selected criteria.

4. Calculate Total Expenses: Users can calculate the total expenses within a specified date range
or for the entire expense list.

5. Delete an Expense: Users can delete a specific expense by providing its unique identifier.

6. Export Expense Data: Users can export the expense data to a CSV file for further analysis or
record-keeping.

7. Add category: New category can be added from here.

Page 5 of 19
USER INTERFACE (CLI):

The following is an example of how the CLI of the Expense Tracker application could look:

Expense Tracker

---------------

1. Add an Expense

2. View Expense List

3. Filter Expenses

4. Calculate Total Expenses

5. Delete an Expense

6. Export Expense Data

7. Add categories

8. Exit

Enter your choice (1-8): 1

Enter expense details:

Date (YYYY-MM-DD): 2023-06-15

Category: Groceries

Description: Grocery shopping

Amount: 50.00

Expense added successfully!

Enter your choice (1-8): 2

Expense List:

-------------

ID Date Category Description Amount

Page 6 of 19
-------------------------------------------------------

1 2023-06-15 Groceries Grocery shopping 50.00

Enter your choice (1-8): 3

Filter Expenses:

1. Filter by Date Range

2. Filter by Category

3. Filter by Date Range and Category

Enter your choice (1-3): 1

Enter start date (YYYY-MM-DD): 2023-06-01

Enter end date (YYYY-MM-DD): 2023-06-30

Filtered Expense List:

----------------------

ID Date Category Description Amount

-------------------------------------------------------

1 2023-06-15 Groceries Grocery shopping 50.00

Enter your choice (1-8): 4

Calculate Total Expenses:

1. Calculate total for all expenses

2. Calculate total within a date range

Enter your choice (1-2): 1

Page 7 of 19
Total Expenses: 50.00

Enter your choice (1-7): 5

Enter the expense ID to delete: 1

Expense deleted successfully!

Enter your choice (1-8): 6

Enter the file name to export (e.g., expenses.csv): expenses.csv

Expense data exported to expenses.csv successfully!

Enter your choice (1-8): 8

Exiting...

Page 8 of 19
PROJECT: CONTACT BOOK

DESCRIPTION:

Contact Book is a command-line interface (CLI) application that allows users to store and manage
their contacts. It provides functionalities to add new contacts, view the contact list, search for
contacts by name and number partially, and delete contacts. The application utilizes data structures
like lists and dictionaries to store and manipulate contact data.

FEATURES:

1. Add a Contact: Users can add a new contact by providing details such as name, phone number,
and email.

2. View Contact List: Users can view their entire contact list, which displays all contacts along
with their corresponding details, including name, phone number, and email.

3. Search Contacts: Users can search for contacts by name or number. The application will display
a list of contacts that match the search query. The name and number of the contacts can be partial
or full.

4. Delete a Contact: Users can delete a specific contact by providing their unique identifier or by
selecting from a list of contacts.

5. Edit a Contact: Users can edit a specific contact by providing their unique identifier or by
selecting from a list of contacts. For example, edit name or number of contacts.

6. Exit the Application: Users can choose to exit the Contact Book application.

Page 9 of 19
USER INTERFACE (CLI):

The following is an example of how the CLI of the Contact Book application could look:

Contact Book

------------

1. Add a Contact

2. View Contact List

3. Search Contacts

4. Delete a Contact

5. Edit a Contact

6. Exit

Enter your choice (1-6): 1

Enter contact details:

Name: John Doe

Phone Number: 1234567890

Email: [email protected]

Contact added successfully!

Enter your choice (1-6): 1

Enter contact details:

Name: Jane Smith

Page 10 of 19
Phone Number: 9876543210

Email: [email protected]

Contact added successfully!

Enter your choice (1-6): 2

Contact List:

--------------

ID Name Phone Number Email

---------------------------------------------

1 John Doe 1234567890 [email protected]

2 Jane Smith 9876543210 [email protected]

Enter your choice (1-6): 3

Search Contacts:

Enter the name to search: John

Search Results:

--------------

ID Name Phone Number Email

---------------------------------------------

1 John Doe 1234567890 [email protected]

Enter your choice (1-6): 4

Page 11 of 19
Enter the contact ID to delete: 2

Contact deleted successfully!

Enter your choice (1-6): 2

Contact List:

--------------

ID Name Phone Number Email

---------------------------------------------

1 John Doe 1234567890 [email protected]

Enter your choice (1-6): 6

Exiting...

Page 12 of 19
PROJECT: QUIZ GAME

DESCRIPTION:

Quiz Game is a command-line interface (CLI) application that allows users to play multiple-choice
quizzes. The application reads questions and answer choices from a file, presents them to the user,
and calculates their score at the end. It provides an interactive and engaging way for users to test
their knowledge.

FEATURES:

1. Load Quiz: The application loads a quiz from a file, which contains questions and answer
choices.

2. Display Question: The application presents each question to the user and displays the available
answer choices.

3. Accept User Input: The user can input their answer choice for each question.

4. Calculate Score: The application calculates the user's score based on the correct answers chosen.

5. Display Final Score: At the end of the quiz, the application displays the user's final score.

6. Retry Quiz: Users can choose to retry the quiz after completing it.

USER INTERFACE (CLI):

The following is an example of how the CLI of the Quiz Game application could look:

Quiz Game

---------

1. Start Quiz

2. Exit

Enter your choice (1-2): 1

Page 13 of 19
Quiz Loaded!

-----------------

Question 1:

What is the capital of France?

A. Paris

B. London

C. Rome

D. Madrid

Your Answer: A

Correct!

Question 2:

Which planet is known as the Red Planet?

A. Mars

B. Venus

C. Jupiter

D. Saturn

Your Answer: B

Incorrect!

Question 3:

Page 14 of 19
What is the largest ocean on Earth?

A. Atlantic Ocean

B. Indian Ocean

C. Pacific Ocean

D. Arctic Ocean

Your Answer: C

Correct!

Quiz Completed!

-------------------

Final Score: 2/3

1. Retry Quiz

2. Exit

Enter your choice (1-2): 2

Exiting...

Page 15 of 19
PROJECT: TASK SCHEDULER

DESCRIPTION:

Task Scheduler is a command-line interface (CLI) application that helps users manage their tasks.
It allows users to add, view, and manage tasks by setting due dates, priorities, and descriptions.
The application provides reminders for upcoming tasks and allows users to mark tasks as complete.
It utilizes data structures and algorithms to handle task scheduling and organization efficiently.

FEATURES:

1. Add a Task: Users can add a new task by providing details such as the task description, due
date, and priority level.

2. View Task List: Users can view their task list, which displays all tasks along with their
corresponding details, including description, due date, priority, and completion status.

3. Sort Tasks: Users can sort their task list based on due date or priority to prioritize and organize
their tasks effectively.

4. Reminders: The application can provide reminders for upcoming tasks, notifying users of
approaching due dates.

5. Complete a Task: Users can mark a task as complete, updating the completion status and
removing it from the active task list.

6. Edit task: Users can edit task, change the content, date and priority.

7. Delete task: Users can delete any task.

8. Export task: Export task to text file with all information.

9. Search task: Tasks can be searched by date, content, priority, reminder wise.

10. Exit the Application: Users can choose to exit the Task Scheduler application.

Page 16 of 19
USER INTERFACE (CLI):

The following is an example of how the CLI of the Task Scheduler application could look:

Task Scheduler

--------------

1. Add a Task

2. View Task List

3. Sort Tasks

4. Complete a Task

5. Edit task

6. Delete task

7. Export task

8. Search task

9. Exit

Enter your choice (1-9): 1

Enter task details:

Task Description: Submit project report

Due Date (YYYY-MM-DD): 2023-06-30

Priority (1-9): 3

Task added successfully!

Enter your choice (1-9): 1

Page 17 of 19
Enter task details:

Task Description: Call John for meeting

Due Date (YYYY-MM-DD): 2023-06-25

Priority (1-9): 2

Task added successfully!

Enter your choice (1-9): 2

Task List:

----------

ID Description Due Date Priority Completed

----------------------------------------------------------------
-

1 Submit project report 2023-06-30 3 No

2 Call John for meeting 2023-06-25 2 No

Enter your choice (1-9): 3

Sort Tasks:

1. Sort by Due Date

2. Sort by Priority

Enter your choice (1-2): 1

Page 18 of 19
Sorted Task List (by Due Date):

-------------------------------

ID Description Due Date Priority Completed

----------------------------------------------------------------
-

2 Call John for meeting 2023-06-25 2 No

1 Submit project report 2023-06-30 3 No

Enter your choice (1-9): 4

Enter the task ID to mark as complete: 2

Task marked as complete!

Enter your choice (1-9): 2

Task List:

----------

ID Description Due Date Priority Completed

----------------------------------------------------------------
-

1 Submit project report 2023-06-30 3 No

Enter your choice (1-9): 9

Exiting...

Page 19 of 19

You might also like