As a Python Development Intern at ShadowFox, I am gaining hands-on experience in solving real-world problems and developing scalable projects. This role enhances my expertise in backend development, automation, and secure coding while collaborating with industry professionals to build impactful solutions.

LEARN • CREATE • LEAD
This repository contains the tasks completed as part of my ShadowFox Python Development Internship. The internship includes a series of Python programming tasks at beginner, intermediate, and advanced levels, designed to enhance skills in Python development, data analysis, and ethical programming practices. Below is an overview of the tasks, directory structure, and instructions for running the code.
As a ShadowFox Python Development Intern, I completed the following requirements:
- LinkedIn Profile Update: Added "ShadowFox Python Development Intern" to my experience and updated my technical skills.
- GitHub Repository: Created this repository named "ShadowFox" to store all task-related code.
- Proof of Work: Recorded video explanations for each task and posted them on LinkedIn, tagging ShadowFox. Screenshots of code and outputs were prepared for submission.
- Task Completion: Completed 5 beginner tasks, both intermediate tasks, and 1 advanced task, as per the task list.
-
Task 1: Variables
- Created a variable
piwith value22/7and checked its data type. - Attempted to use
foras a variable name and explained the resulting SyntaxError. - Calculated Simple Interest for 3 years using the formula
P x R x T / 100.
- Created a variable
-
Task 2: Numbers
- Formatted the number
145with format specifier'o'(octal representation). - Calculated the area of a circular pond (radius 84m, π = 3.14) and the total water volume (1.4 liters per square meter).
- Formatted the number
-
Task 3: Lists
- Managed a
justice_leaguelist by performing operations like adding members, reordering, separating conflicting members, replacing the team, and sorting alphabetically.
- Managed a
-
Task 4: If Condition
- Built a BMI calculator with categories (Obesity, Overweight, Normal, Underweight).
- Determined the country of a given city using a predefined list.
- Checked if two cities belong to the same country.
-
Task 5: For Loop
- Simulated rolling a six-sided die 20 times, counting occurrences of 6, 1, and consecutive 6s.
- Created a workout routine simulation for 100 jumping jacks, allowing breaks if the user is tired.
-
Task 1: Web Scraper
- Used Beautiful Soup to scrape quotes and authors from
quotes.toscrape.com.
- Used Beautiful Soup to scrape quotes and authors from
-
Task 2: Hangman
- Implemented a Hangman game with visual progress (ASCII art), hints, and a word list.
- Task 3: NLP with Language Model
- Implemented a sentiment analysis model using BERT in a Jupyter Notebook.
- Analyzed BERT's performance on sample s, visualized results, and drew conclusions about its capabilities.
- Packet Sniffer Tool (Developed earlier during the internship)
- Created a packet sniffer using
scapyto capture network packets, displaying source/destination IPs, protocols, and payloads. This could be extended as an advanced task if needed.
- Created a packet sniffer using
ShadowFox/ │ ├── Task1_Variables/ │ └── task1_variables.py │ ├── Task2_Numbers/ │ └── task2_numbers.py │ ├── Task3_Lists/ │ └── task3_lists.py │ ├── Task4_IfCondition/ │ └── task4_if_condition.py │ ├── Task5_ForLoop/ │ └── task5_for_loop.py │ ├── Task_Intermediate1_WebScraper/ │ └── task_intermediate1_web_scraper.py │ ├── Task_Intermediate2_Hangman/ │ └── task_intermediate2_hangman.py │ ├── Task_Advanced3_NLP/ │ └── task_advanced3_nlp.ipynb │ ├── Bonus_PacketSniffer/ │ └── packet_sniffer.py │ └── README.md
## Prerequisites
To run the code in this repository, you'll need Python 3.x and the following libraries:
- **General Requirements:**
pip install requests beautifulsoup4 transformers torch pandas matplotlib seaborn scikit-learn scapy
- **Task-Specific Requirements:**
- Web Scraper: `requests`, `beautifulsoup4`
- NLP Task: `transformers`, `torch`, `pandas`, `matplotlib`, `seaborn`, `scikit-learn`
- Packet Sniffer: `scapy` (requires admin privileges to run)
- **Task-Specific Requirements:**
- Web Scraper: `requests`, `beautifulsoup4`
- NLP Task: `transformers`, `torch`, `pandas`, `matplotlib`, `seaborn`, `scikit-learn`
- Packet Sniffer: `scapy` (requires admin privileges to run)
**Installation Instructions:**
1. Clone this repository:
git clone https://github.com/your-username/ShadowFox.git
cd ShadowFox
2. Install the required packages:
pip install -r requirements.txt
## How to Run the Code
1. **Beginner Tasks (Tasks 1–5):**
- Navigate to the respective folder (e.g., `cd Task1_Variables`).
- Run the Python script:
python task1_variables.py
- Follow any input prompts (e.g., for principal amount in Task 1 or city names in Task 4).
2. **Intermediate Task 1: Web Scraper**
- Navigate to `Task_Intermediate1_WebScraper`.
- Run:
python task_intermediate1_web_scraper.py
- Ensure you have an internet connection to scrape the website.
3. **Intermediate Task 2: Hangman**
- Navigate to `Task_Intermediate2_Hangman`.
- Run:
python task_intermediate2_hangman.py
- Follow the prompts to guess letters and play the game.
4. **Advanced Task 3: NLP with Language Model**
- Navigate to `Task_Advanced3_NLP`.
- Open the Jupyter Notebook:
jupyter notebook task_advanced3_nlp.ipynb
- Run all cells to see the sentiment analysis results and visualizations.
5. **Bonus: Packet Sniffer**
- Navigate to `Bonus_PacketSniffer`.
- Run with admin privileges:
- On Windows (as Administrator):
python packet_sniffer.py
- On Linux/Mac (with sudo):
## Ethical Considerations
Several tasks in this repository involve tools that can be misused if not handled responsibly:
- **Packet Sniffer:** Capturing network packets without permission is illegal in many jurisdictions. This tool was developed and tested on my own network for educational purposes only.
- **General Use:** All code was written for learning and demonstration purposes during my internship. Unauthorized use of any tool (e.g., to harm systems, networks, or individuals) is strictly prohibited.
---
## Proof of Work
As per ShadowFox requirements:
- **LinkedIn Videos:** I’ve posted video explanations for each task on LinkedIn, tagging ShadowFox. Each video demonstrates the code and its output.
- **Screenshots:** Screenshots of the code and outputs for all tasks are available and were submitted as part of the internship deliverables.
- **GitHub:** All code is organized in this repository for review.
---
## Learnings and Reflections
Through this internship, I gained hands-on experience in:
- Python fundamentals (variables, lists, loops, conditionals).
- Intermediate concepts like web scraping and game development.
- Advanced techniques in NLP and machine learning using BERT.
- Ethical programming practices, especially in handling sensitive tools like packet sniffers.
The tasks helped me improve my problem-solving skills, learn how to work with external libraries, and present my work professionally through GitHub and LinkedIn.
---
## Acknowledgments
- **ShadowFox Team:** Thank you for providing this opportunity to learn, create, and lead through practical Python development tasks.
- **Resources Used:**
- ShadowFox Task List and Guidelines
- Python Roadmap: [roadmap.sh/python](https://roadmap.sh/python)
- Kaggle for datasets (e.g., student marks for file handling task, if completed)
---
**Yeshwanth Raj Selvaraj**
ShadowFox Python Development Intern
[LinkedIn Profile](https://www.linkedin.com/in/yeshwanth-raj-selvaraj-153796248/)
April 2025