Skip to content

munlicode/CS50X_final_project_2024

Repository files navigation

Math Assistant 2.0

Video Demo: Watch Here

Description:

Math Assistant is a tool that includes features designed to help user to get better at math. It provides a range of functionalities to assist with mathematical tasks, including interactive games, and random facts, saving sessions and neural network assistant. Math Assistant 2.0 is an upgrade of initial version with deprecation of some features and addition of chat option

Features:

  • Interactive Games: Enjoy educational games that test your arithmetic skills and challenge your knowledge of famous mathematicians.
  • Educational Explanations: Gain insights into various math topics with detailed explanations and resources.
  • Problem Solving: Quickly solve and simplify mathematical expressions using an intuitive interface.
  • Random Math Facts: Discover interesting facts about mathematics to enhance your knowledge.

The program is highly flexible, allowing for easy addition of new topics, games, and features. This makes it a dynamic tool that can grow with user needs and interests.

Detailed Features:

  • Main Function: Acts as the entry point of the program, coordinating the flow and managing the interaction between different features. It ensures a smooth user experience by guiding them through the various options and functionalities available in Math Assistant.
  • Choices Function: Handles the user’s input, interpreting their selections to navigate through different sections of the program. This function is crucial for ensuring that users can access the features they want quickly and efficiently.
  • Usage Guide 📃: Provides a comprehensive guide to help users understand how to navigate and utilize the various options available in Math Assistant.
  • Games 🎮: Includes two fun and educational games:
    • Calculation Game: Tests your ability to solve basic arithmetic problems.
    • Guess Person Game: Challenges you to guess the name of a math-related person based on clues.
  • Random Fact 🎁: Provides a random math fact to enhance your knowledge and make learning more enjoyable.
  • Chat🗨️: It is a chat with neural network assistant, which is using openai assistant api to generate responses
  • Close Current Session 👋: Allows users to save their session in either PDF or TXT format before exiting. If the file already exists, the user is prompted to confirm whether they want to replace the existing data.

This tool is perfect for students, educators, or anyone interested in sharpening their math skills in an engaging and interactive way.

Tip

1.You can enter keys in a case-insensitive manner.

Important

1.You have to specify data in .env file to use chat option 2.If your input does not contain any key, you will receive an error message. 3.You can always return to the Main Menu, Games Menu, or close the program using 'Ctrl+D' (Windows) or 'Ctrl+Z' (Linux/macOS). 4. Application might not support some characters

Project Structure:

  • fonts
  • project.py
  • assistant.py
  • response_formats.py
  • data.py
  • helpers.py
  • requirements.txt
  • .env
  • README.md

Installation:

  1. Install Python Dependencies

    pip install -r requirements.txt
    

Credits:

  • Development: Nurzhan Muratkhan

  • Libraries and Tools:

    • Cowsay: For the fun ASCII art used in the application.
    • FPDF2: For generating PDFs in the application.
    • openai: For chat option in this application
    • Python Community: For continuous support and development of Python and its ecosystem.
    • Open Source Contributors: For their invaluable contributions to the libraries and tools used in this project.
  • Special Thanks:

Contact:

  • Github: munlicode
  • edX: raya_naya_lovie

Personal Thoughts:

  • Anyone who will interact with this project: I am sorry, ...
  • Über das Leben: Always try to find thing you enjoy in every moment of your life, even if it is the worst moment of life
  • Languages:
    • German: Deutsch ist sehr toll. Wenn du jemals daran denkst, es zu lernen, mach das ohne einen zweiten Gedanken
    • English: No comment
    • Kazakh: Иә, бұл менің ана тілім, сондықтан мен оны жақсы көремін.
    • Russian: Я говорил на нем большую часть жизни, так что нет идей что сказать
  • Kazakhstan: Meiner Meinung nach ist es ein guter Ort für ein ruhiges Leben, vor allem wenn Sie Ruhe genießen
  • Über mich: Ich bin nur einen Kind, der liebe das Leben
  • Mein Familie: Ich liebe sie

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages