Skip to content

MennahMabrouk/Python-Projects

Repository files navigation

Python-Projects


College and Personal Projects

Automated EDA

The Automated EDA tool within this repository simplifies the exploratory data analysis process:

  • Imports libraries and reads data from CSV files into DataFrames.
  • Utilizes a maximize_attractions function to find the maximum number of attractions visitable within a budget.
  • Uses a 2D table (dp) to store maximum attractions for each state (city and budget combination).
  • Utilizes backtracking to find selected attractions based on the filled dp table.
  • Provides a get_recommendations function for retrieving recommended cities based on user input (name, budget, and number of cities).
  • Displays recommended cities and a merged DataFrame.

m

Acknowledgements

This project was built following a tutorial by FreeCodeCamp.org.

Mini Projects

The mini-projects folder contains four Python mini-projects:

1. Email Sender.py

Send emails using Python's built-in smtplib module. Specify the recipient's email address, subject, and message.

2. Email Slicer.py

Slice an email address into its username and domain name.

3. Word Replacement.py

Replace specific words in a text file. Specify the input file, output file, and the words you want to replace.

4. Fortune Cookies.py

Display random fortunes.

Snake Game

How to Play

Use the following keys to move the snake:

W - Up
S - Down
A - Left
D - Right

The objective is to eat the food (colored shapes) and grow without colliding with walls or the snake's own body.

Features

  • Randomly generated food colors and shapes.
  • Score and high score tracking.
  • Game resets upon collision.
  • Increased snake speed as score increases.

Dependencies

This game requires the Pygame library.

Installation

Clone this repository or download the ZIP file and extract the contents to a directory of your choice.

Running the Game

Navigate to the directory containing the game files and run:

python snake.py

Tic Tac Toe

The classic Tic Tac Toe game implemented in Python:

  • Built as a command-line game.
  • Game logic implemented using Python's built-in data structures and control flow.
  • Players input moves via the command line.
  • Played on a 3x3 grid.
  • Features a function to print the current game board, handle player moves, check for a win, and check for a tie.

Dynamic Programming

The Dynamic Programming project imports libraries and reads data from CSV files into DataFrames. It includes a function to find the maximum number of attractions that can be visited within a budget using dynamic programming techniques.

Automated EDA

Develop an Automated EDA (Exploratory Data Analysis) tool using Python:

  • Simplifies EDA by automating data preprocessing and visualization.
  • Supports various data formats: CSV, Excel, and SQL databases.
  • Identifies column data types and performs appropriate preprocessing steps.
  • Provides options for feature selection and dimensionality reduction.
  • Generates comprehensive visualization dashboards for each column type.
  • Utilizes Python libraries: Matplotlib, Seaborn, and Plotly for interactive visualizations.
  • Offers a user-friendly command-line interface.
  • Involves stages of designing, implementing, testing, and debugging.

How to Use

To use these projects, simply clone the repository to your local machine and run the Python files using your favorite Python IDE or the command line. For the Snake Game, make sure you have the Pygame library installed on your machine.

Feel free to explore each project and provide any feedback or suggestions. Thank you for visiting my repository!