diff --git a/Aarthika Nettyam/README.md b/Aarthika Nettyam/README.md
deleted file mode 100644
index dc62a02..0000000
--- a/Aarthika Nettyam/README.md
+++ /dev/null
@@ -1,20 +0,0 @@
-Advance Level
-
-Task 1 :Image Converter:
-
-Where the program that accepts images in multiple formats that may be in JPEG, PNG, BMP, GIF and converts them into a desired format using Python Imaging Library (PIL) that may be any of the formats mentioned.
-
-
-Task 2:Data Analysis with Pandas:
-
-In the program on loading the "Iris" dataset from Seaborn and analyzing it using Pandas and performed exploratory data analysis, cleaning, aggregation, visualizations, and correlation calculations.
-The output of the program will consits of calculations , graph which will be more understanding to users.
-
-
-Task 3:Linear Regression with Scikit-learn:
-
-Completed a program by applying linear regression to predict house prices from the Boston housing dataset using scikit-learn and compared train and test scores and plot residuals.
-
-Task 4:Image Compression:
-
-Developed a Python program for compressing images while maintaining quality by exploring compression techniques like RLE and DCT and allowing users to adjust compression quality, support various image formats, and provide output options. Optionally, include a user interface.
diff --git a/Aarthika Nettyam/Task1 b/Aarthika Nettyam/Task1
deleted file mode 100644
index 8f8b98b..0000000
--- a/Aarthika Nettyam/Task1
+++ /dev/null
@@ -1,36 +0,0 @@
-from PIL import Image
-import os
-
-def convert_image(input_path, output_path, output_format):
- try:
- # Open the image
- with Image.open(input_path) as img:
- # Convert and save the image to the desired format
- img.save(output_path, format=output_format)
- print(f"Image converted successfully to {output_format} format.")
- except Exception as e:
- print(f"An error occurred: {e}")
-
-def main():
- input_path = input("Enter the path to the input image: ")
- output_format = input("Enter the desired output format (e.g., JPEG, PNG, BMP, GIF): ").upper()
-
- # Validate output format
- if output_format not in ['JPEG', 'PNG', 'BMP', 'GIF']:
- print("Invalid output format. Please choose from JPEG, PNG, BMP, or GIF.")
- return
-
- # Extract the file name and extension
- file_name, file_extension = os.path.splitext(input_path)
-
- # If the input file already has an extension, remove it
- file_name_without_ext = file_name.split('.')[0]
-
- # Set the output path
- output_path = f"{file_name_without_ext}_converted.{output_format.lower()}"
-
- # Convert the image
- convert_image(input_path, output_path, output_format)
-
-if __name__ == "__main__":
- main()
diff --git a/Aarthika Nettyam/Task2 b/Aarthika Nettyam/Task2
deleted file mode 100644
index 2fee7c7..0000000
--- a/Aarthika Nettyam/Task2
+++ /dev/null
@@ -1,43 +0,0 @@
-import seaborn as sns
-import pandas as pd
-import matplotlib.pyplot as plt
-
-# Load the Iris dataset from Seaborn
-iris = sns.load_dataset("iris")
-numeric_iris = iris.drop(columns='species')
-
-# Display the first few rows of the dataset
-print("First few rows of the dataset:")
-print(iris.head())
-
-# Summary statistics
-print("\nSummary statistics:")
-print(iris.describe())
-
-# Checking for missing values
-print("\nMissing values:")
-print(iris.isnull().sum())
-
-# Visualizations
-# Pairplot
-sns.pairplot(iris, hue="species")
-plt.title("Pairplot of Iris Dataset")
-plt.show()
-
-# Boxplot
-plt.figure(figsize=(10, 6))
-sns.boxplot(data=iris, orient="h")
-plt.title("Boxplot of Iris Dataset")
-plt.show()
-
-# Histograms
-plt.figure(figsize=(10, 6))
-iris.hist()
-plt.suptitle("Histograms of Iris Dataset")
-plt.show()
-
-# Correlation heatmap
-plt.figure(figsize=(8, 6))
-sns.heatmap(numeric_iris.corr(), annot=True, cmap="coolwarm")
-plt.title("Correlation Heatmap of Iris Dataset")
-plt.show()
diff --git a/Aarthika Nettyam/Task3 b/Aarthika Nettyam/Task3
deleted file mode 100644
index 5bb8616..0000000
--- a/Aarthika Nettyam/Task3
+++ /dev/null
@@ -1,45 +0,0 @@
-import numpy as np
-import matplotlib.pyplot as plt
-from sklearn.model_selection import train_test_split
-from sklearn.linear_model import LinearRegression
-from sklearn.metrics import mean_squared_error
-import pandas as pd
-data_url = "http://lib.stat.cmu.edu/datasets/boston"
-raw_df = pd.read_csv(data_url, sep="\s+", skiprows=22, header=None)
-data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])
-target = raw_df.values[1::2, 2]
-
-# Load the Boston housing dataset
-
-X = data
-y = target
-
-# Split the data into training and testing sets
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
-
-# Initialize the linear regression model
-model = LinearRegression()
-
-# Fit the model on the training data
-model.fit(X_train, y_train)
-
-# Predict on the training and testing data
-y_train_pred = model.predict(X_train)
-y_test_pred = model.predict(X_test)
-
-# Calculate the scores
-train_score = model.score(X_train, y_train)
-test_score = model.score(X_test, y_test)
-
-print("Training score:", train_score)
-print("Testing score:", test_score)
-
-# Plot residuals
-plt.scatter(y_train_pred, y_train_pred - y_train, c='blue', marker='o', label='Training data')
-plt.scatter(y_test_pred, y_test_pred - y_test, c='lightgreen', marker='s', label='Testing data')
-plt.xlabel('Predicted values')
-plt.ylabel('Residuals')
-plt.legend(loc='upper left')
-plt.hlines(y=0, xmin=0, xmax=50, lw=2, color='red')
-plt.title('Residual plot')
-plt.show()
diff --git a/Aarthika Nettyam/Task4 b/Aarthika Nettyam/Task4
deleted file mode 100644
index c337023..0000000
--- a/Aarthika Nettyam/Task4
+++ /dev/null
@@ -1,53 +0,0 @@
-from PIL import Image
-import os
-
-def get_size_format(b, factor=1024, suffix="B"):
- """
- Scale bytes to its proper byte format.
- e.g: 1253656 => '1.20MB', 1253656678 => '1.17GB'
- """
- for unit in ["", "K", "M", "G", "T", "P", "E", "Z"]:
- if b < factor:
- return f"{b:.2f}{unit}{suffix}"
- b /= factor
- return f"{b:.2f}Y{suffix}"
-
-def compress_img(image_name, new_size_ratio=0.9, quality=90, width=None, height=None, to_jpg=True):
- # Load the image into memory
- img = Image.open(image_name)
-
- # Print the original image shape
- print("[*] Image shape:", img.size)
-
- # Get the original image size in bytes
- image_size = os.path.getsize(image_name)
- print("[*] Size before compression:", get_size_format(image_size))
-
- if new_size_ratio < 1.0:
- # If resizing ratio is below 1.0, multiply width & height with this ratio to reduce image size
- img = img.resize((int(img.size[0] * new_size_ratio), int(img.size[1] * new_size_ratio)), Image.ANTIALIAS)
- elif width and height:
- # If width and height are set, resize with them instead
- img = img.resize((width, height), Image.ANTIALIAS)
-
- # Split the filename and extension
- filename, ext = os.path.splitext(image_name)
-
- # Make a new filename appending "_compressed" to the original file name
- if to_jpg:
- # Change the extension to JPEG
- new_filename = f"{filename}_compressed.jpg"
- else:
- # Retain the same extension of the original image
- new_filename = f"{filename}_compressed{ext}"
-
- # Save the compressed image
- img.save(new_filename, optimize=True, quality=quality)
-
- # Print the new image shape
- print("[+] New Image shape:", img.size)
- print(f"[*] Compressed image saved as: {new_filename}")
-
-# Example usage:
-Input=input()
-compress_img(Input, new_size_ratio=0.8, quality=80, width=800, height=600)
diff --git a/Shashmitha Parvathaneni/LICENSE b/Shashmitha Parvathaneni/LICENSE
new file mode 100644
index 0000000..d959ff3
--- /dev/null
+++ b/Shashmitha Parvathaneni/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 CSEdge
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/Shashmitha Parvathaneni/README.md b/Shashmitha Parvathaneni/README.md
new file mode 100644
index 0000000..10deed1
--- /dev/null
+++ b/Shashmitha Parvathaneni/README.md
@@ -0,0 +1,144 @@
+Python Programming Internship
+==============================
+
+Title: Python Programming Internship Tasks
+Subtitle: CSEdge Internship Program
+Author: Team CSEdge
+Level: Easy, Medium, Hard
+Questions per Level: 4
a
+Total Questions: 12
+
+### Setup
+
+To get started with the projects, follow these steps:
+
+1. Clone the repository to your local machine using the command:
+ ```bash
+ git clone https://github.com/CSEdgeOfficial/Python-Programming-Internship
+ ```
+2. Navigate to the cloned directory:
+ ```bash
+ cd Python-Programming-Internship
+ ```
+3. Create a new folder with your full name to store your projects:
+ ```bash
+ mkdir YourFullName && cd YourFullName
+ ```
+4. Begin working on the tasks within your named folder.
+
+### Pull Request
+
+After finishing a task, create a separate folder inside your named folder for that particular task and submit a pull request to the `master` branch of this repository. Our team will review your submission and merge it if approved.
+
+Table of Contents
+-----------------
+
+
+
+
+
+
+
+
+
+Introduction
+------------
+
+Welcome to the Python Programming Internship with CSEdge! During this journey, you'll tackle various tasks aimed at expanding your knowledge and expertise in Python programming. This document presents 12 tasks divided into three categories—Easy, Medium, and Hard.
+
+Instructions
+------------
+
+- Attempt the tasks according to their difficulty level, beginning with the easiest ones.
+- Focus on solving only one category—Easy, Medium, or Hard—for now.
+- Write functions, classes, modules, tests, and documentation where required.
+- Keep your code organized, modular, and easy to read.
+- Comment your solutions thoroughly, explaining how they work and why you made certain decisions.
+- Save your finished work in appropriately labeled folders under your named folder.
+- Send the entire collection of source codes, along with necessary instructions, to your designated mentor via a share link on GitHub.
+
+Evaluation Criteria
+-------------------
+
+- Correctness of implemented algorithms and logic
+- Quality of code (structure, comments, naming conventions, etc.)
+- Performance and optimization efforts
+- Efficient use of external libraries when needed
+- Problem-solving creativity and originality
+
+Now let's dive into the tasks!
+
+
+
+**Beginner Level:**
+
+1. Simple Calculator:
+ - Create a basic calculator application that performs arithmetic operations like addition, subtraction, multiplication, and division.
+
+2. To-Do List:
+ - Develop a console-based or GUI application for managing tasks with features like adding, deleting, and marking tasks as completed.
+
+3. Number Guessing Game:
+ - Implement a program where the computer generates a random number and the player tries to guess it within a certain number of attempts.
+
+4. PDF Converter:
+ - Build a tool that converts PDF files into different formats such as text, images, or other document types.
+
+
+
+**Intermediate Level:**
+
+5. Weather App:
+ - Create a program that fetches weather data from an API and displays current weather conditions, forecasts, and temperature trends.
+
+6. Web Scraper:
+ - Develop a tool to extract data from websites by scraping HTML content and storing it in a structured format like CSV or JSON.
+
+7. Chatbot:
+ - Build a simple chatbot using natural language processing techniques to respond to user queries and provide relevant information.
+
+8. PDF Merger/Splitter:
+ - Write a program that merges multiple PDF files into one or splits a PDF file into multiple smaller files.
+
+
+
+
+**Advanced Level:**
+
+9. Image Converter:
+ - Write a program that accepts images in multiple formats (JPEG, PNG, BMP, GIF) and converts them into a desired format using Python Imaging Library (PIL).
+
+10. Data Analysis with Pandas:
+ - Load the "Iris" dataset from Seaborn and analyze it using Pandas. Perform exploratory data analysis, cleaning, aggregation, visualizations, and correlation calculations.
+
+11. Linear Regression with Scikit-learn:
+ - Apply linear regression to predict house prices from the Boston housing dataset using scikit-learn. Compare train and test scores and plot residuals.
+
+12. Image Compression:
+ - Develop a Python tool for compressing images while maintaining quality. Explore compression techniques like RLE and DCT. Allow users to adjust compression quality, support various image formats, and provide output options. Optionally, include a user interface. Ensure code modularity, performance optimization, and test with diverse images, along with comprehensive documentation.
+
+# Our Contributors ✨
+
+
+
+
+
+
+FAQ
+---
+
+### How can I overcome obstacles faced during tasks in my named folder?
+
+Should you encounter issues during tasks within your named folder, don't hesitate to raise concerns in the repository's Issue Tab by opening an issue ticket. Our team will swiftly attend to your needs.
+
+### Can I utilize other resources to better comprehend these tasks?
+
+Yes, indeed! Look up authoritative references such as the official documentation and reliable tutorials on sites like YouTube, FreeCodeCamp, Udemy, or Coursera. Moreover, delve into stack overflow discussions addressing typical challenges developers confront.
+
+### Must I strictly abide by deadlines for tasks residing within my named folder?
+
+While firm deadlines aren't imposed, consistent progression through tasks helps optimally absorb concepts and harness acquired skills effectively. By keeping pace, you ensure steady advancement over the internship duration.
+
+### Finishing Up
+
+By actively engaging in these tasks and arranging outcomes within your named folder, you fortify indispensable abilities pivotal to triumph in genuine software engineering scenarios. Have fun, and excel in your coding venture!
diff --git a/Shashmitha Parvathaneni/Task1 b/Shashmitha Parvathaneni/Task1
new file mode 100644
index 0000000..4c96f98
--- /dev/null
+++ b/Shashmitha Parvathaneni/Task1
@@ -0,0 +1,30 @@
+#Simple Calculator
+def add(x, y):
+ return x + y
+
+def subtract(x, y):
+ return x - y
+
+def multiply(x, y):
+ return x * y
+
+def divide(x, y):
+ return "Error: Division by zero!" if y == 0 else x / y
+print("Select operation:")
+print("1. Add")
+print("2. Subtract")
+print("3. Multiply")
+print("4. Divide")
+choice = input("Enter choice (1/2/3/4): ")
+num1 = float(input("Enter first number: "))
+num2 = float(input("Enter second number: "))
+if choice == '1':
+ print("Result: ", add(num1, num2))
+elif choice == '2':
+ print("Result: ", subtract(num1, num2))
+elif choice == '3':
+ print("Result: ", multiply(num1, num2))
+elif choice == '4':
+ print("Result: ", divide(num1, num2))
+else:
+ print("Invalid input")
\ No newline at end of file
diff --git a/Shashmitha Parvathaneni/Task2 b/Shashmitha Parvathaneni/Task2
new file mode 100644
index 0000000..592b8db
--- /dev/null
+++ b/Shashmitha Parvathaneni/Task2
@@ -0,0 +1,13 @@
+## weather app
+import requests
+api_key = '7a63db5cb1aa389d14af1589720bb4db'
+user_input = input("Enter city: ")
+weather_data = requests.get(f"https://api.openweathermap.org/data/2.5/weather?q={user_input}&units=imperial&APPID={api_key}")
+if weather_data.json()['cod'] == '404':
+ print("No City Found")
+else:
+ weather = weather_data.json()['weather'][0]['main']
+ temp = round(weather_data.json()['main']['temp'])
+
+ print(f"The weather in {user_input} is: {weather}")
+ print(f"The temperature in {user_input} is: {temp}ºF")
\ No newline at end of file
diff --git a/Shashmitha Parvathaneni/Task3 b/Shashmitha Parvathaneni/Task3
new file mode 100644
index 0000000..0287041
--- /dev/null
+++ b/Shashmitha Parvathaneni/Task3
@@ -0,0 +1,38 @@
+## Data Analysis with Pandas
+#import libraries
+import seaborn as sns
+import pandas as pd
+import matplotlib.pyplot as plt
+# Load the Iris dataset
+iris = sns.load_dataset('iris')
+# Display basic information about the dataset
+print("Basic Information about the Iris dataset:")
+print(iris.info())
+# Display the first few rows of the dataset
+print("\nFirst few rows of the Iris dataset:")
+print(iris.head())
+# Check for missing values
+print("\nChecking for missing values:")
+print(iris.isnull().sum())
+# Descriptive statistics
+print("\nDescriptive statistics of the Iris dataset:")
+print(iris.describe())
+# Aggregations
+print("\nAverage values of each species:")
+print(iris.groupby('species').mean())
+# Visualizations
+# Pairplot
+sns.pairplot(iris, hue='species')
+plt.title('Pairplot of Iris Dataset')
+plt.show()
+# Boxplot
+plt.figure(figsize=(10, 6))
+sns.boxplot(data=iris, x='species', y='petal_length')
+plt.title('Boxplot of Petal Length by Species')
+plt.show()
+# Correlation matrix
+correlation_matrix =iris.corr()
+plt.figure(figsize=(8, 6))
+sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', linewidths=0.5)
+plt.title('Correlation Matrix of Iris Dataset')
+plt.show()
\ No newline at end of file
diff --git a/Shashmitha Parvathaneni/Task4 b/Shashmitha Parvathaneni/Task4
new file mode 100644
index 0000000..a98f749
--- /dev/null
+++ b/Shashmitha Parvathaneni/Task4
@@ -0,0 +1,36 @@
+## To-Do List
+import cmd
+class TaskManager(cmd.Cmd):
+ """Simple task manager"""
+
+ intro = "Welcome to Task Manager! Type 'help' for a list of commands."
+ prompt = "(taskmgr) "
+
+ def __init__(self):
+ super().__init__()
+ self.tasks = []
+
+ def do_add(self, arg):
+ """Add a new task: add """
+ self.tasks.append(arg)
+ print("Task added successfully.")
+
+ def do_delete(self, arg):
+ """Delete a task by index: delete """
+ try:
+ index = int(arg)
+ if 0 <= index < len(self.tasks):
+ del self.tasks[index]
+ print("Task deleted successfully.")
+ else:
+ print("Invalid task index.")
+ except ValueError:
+ print("Invalid task index.")
+
+ def do_list(self, arg):
+ """List all tasks"""
+ if self.tasks:
+ for i, task in enumerate(self.tasks):
+ print(f"{i}: {task}")
+ else:
+ print("No tasks found.")
\ No newline at end of file
diff --git a/Shashmitha Parvathaneni/Task5 b/Shashmitha Parvathaneni/Task5
new file mode 100644
index 0000000..07bf880
--- /dev/null
+++ b/Shashmitha Parvathaneni/Task5
@@ -0,0 +1,32 @@
+## chatbot
+import nltk
+from nltk.chat.util import Chat, reflections
+import webbrowser
+import subprocess
+
+# Define some patterns and responses
+patterns = [
+ (r'hello|hi|hey', ['Hello!', 'Hi there!']),
+ (r'how are you', ['I am doing well, thank you!']),
+ (r'what can you do', ['I can provide information and open applications. Just ask!']),
+ (r'open (.+)', ['Opening {0}...', lambda x: open_application(x[0])])
+]
+
+# Function to open applications
+def open_application(app_name):
+ if app_name.lower() == 'calculator':
+ subprocess.Popen('calc.exe')
+ elif app_name.lower() == 'notepad':
+ subprocess.Popen('notepad.exe')
+ else:
+ webbrowser.open(app_name + '.com')
+
+# Create a chatbot
+chatbot = Chat(patterns, reflections)
+
+# Start the conversation
+print("Welcome! How can I help you?")
+while True:
+ user_input = input("You: ")
+ response = chatbot.respond(user_input)
+ print("Bot:", response)