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

AIPT practical exam codes

Uploaded by

Glory Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

AIPT practical exam codes

Uploaded by

Glory Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

AIPT: Practical exam codes

Considering a class of 20 pg(M.Tech CSE AI) students, having 2 semesters, any 6


subjects in each semester, 100 marks fo each subject has been awarded, assume name
and marks of students and code in python: i) Use file handling ii) Concepts of oops ii)
Use any two packages of python which is use for AI

Program: Concepts of OOPs


import matplotlib.pyplot as plt
import numpy as np

class Student:
def __init__(self, roll_no, name, sem1_marks, sem2_marks):
self.roll_no = roll_no
self.name = name
self.sem1_marks = sem1_marks
self.sem2_marks = sem2_marks

def average_marks(self):
total = sum(self.sem1_marks) + sum(self.sem2_marks)
return total / (2 * len(self.sem1_marks))

def display_info(self):
print(f"Roll No: {self.roll_no}, Name: {self.name}")
print(f" Semester 1 Marks: {self.sem1_marks}")
print(f" Semester 2 Marks: {self.sem2_marks}")
print(f" Average Marks: {self.average_marks():.2f}")
print()

class IGDTUWClass:
def __init__(self):
self.students = []

def add_student(self, student):


self.students.append(student)

def display_all_students(self):
for student in self.students:
student.display_info()
def plot_marks_comparison(self):
roll_nos = [student.roll_no for student in self.students]
sem1_totals = [sum(student.sem1_marks) for student in self.students]
sem2_totals = [sum(student.sem2_marks) for student in self.students]

plt.figure(figsize=(10, 6))
plt.plot(roll_nos, sem1_totals, label="Semester 1 Total Marks", marker="o")
plt.plot(roll_nos, sem2_totals, label="Semester 2 Total Marks", marker="x")
plt.title("Comparison of Total Marks Between Semesters")
plt.xlabel("Roll Numbers")
plt.ylabel("Total Marks")
plt.legend()
plt.grid()
plt.show()

subjects_sem1 = [
"Data Structures",
"Algorithms",
"Database Systems",
"Operating Systems",
"Computer Networks",
"Software Engineering",
]

subjects_sem2 = [
"Artificial Intelligence",
"Machine Learning",
"Cyber Security",
"Cloud Computing",
"Big Data",
"IoT",
]

names = ["Aarav", "Vivaan", "Diya", "Anaya", "Ishaan", "Avni", "Aadhya", "Arjun", "Riya",
"Aryan",
"Kavya", "Ira", "Shaurya", "Nisha", "Reyansh", "Meera", "Advika", "Yuvaan", "Aarohi",
"Krish"]

igdtuw_class = IGDTUWClass()

for i, name in enumerate(names, start=1):


sem1_marks = [np.random.randint(50, 101) for _ in subjects_sem1]
sem2_marks = [np.random.randint(50, 101) for _ in subjects_sem2]
student = Student(i, name, sem1_marks, sem2_marks)
igdtuw_class.add_student(student)

igdtuw_class.display_all_students()

Output:
Program: Use any two packages of python which is use for AI

import matplotlib.pyplot as plt


import numpy as np

# Student Class
class Student:
def __init__(self, roll_no, name, sem1_marks, sem2_marks):
self.roll_no = roll_no
self.name = name
self.sem1_marks = sem1_marks
self.sem2_marks = sem2_marks

def average_marks(self):
total = sum(self.sem1_marks) + sum(self.sem2_marks)
return total / (2 * len(self.sem1_marks))

def display_info(self):
print(f"Roll No: {self.roll_no}, Name: {self.name}")
print(f" Semester 1 Marks: {self.sem1_marks}")
print(f" Semester 2 Marks: {self.sem2_marks}")
print(f" Average Marks: {self.average_marks():.2f}")
print()

# IGDTUWClass Class
class IGDTUWClass:
def __init__(self):
self.students = []

def add_student(self, student):


self.students.append(student)

def display_all_students(self):
for student in self.students:
student.display_info()

def plot_marks_comparison(self):
roll_nos = [student.roll_no for student in self.students]
sem1_totals = [sum(student.sem1_marks) for student in self.students]
sem2_totals = [sum(student.sem2_marks) for student in self.students]
plt.figure(figsize=(10, 6))
plt.plot(roll_nos, sem1_totals, label="Semester 1 Total Marks", marker="o")
plt.plot(roll_nos, sem2_totals, label="Semester 2 Total Marks", marker="x")
plt.title("Comparison of Total Marks Between Semesters")
plt.xlabel("Roll Numbers")
plt.ylabel("Total Marks")
plt.legend()
plt.grid()
plt.show()

# Hardcoded Subjects and Students


subjects_sem1 = [
"Data Structures",
"Algorithms",
"Database Systems",
"Operating Systems",
"Computer Networks",
"Software Engineering",
]

subjects_sem2 = [
"Artificial Intelligence",
"Machine Learning",
"Cyber Security",
"Cloud Computing",
"Big Data",
"IoT",
]

names = ["Aarav", "Vivaan", "Diya", "Anaya", "Ishaan", "Avni", "Aadhya", "Arjun", "Riya",
"Aryan",
"Kavya", "Ira", "Shaurya", "Nisha", "Reyansh", "Meera", "Advika", "Yuvaan", "Aarohi",
"Krish"]

# Main Logic
igdtuw_class = IGDTUWClass()

for i, name in enumerate(names, start=1):


sem1_marks = [np.random.randint(50, 101) for _ in subjects_sem1]
sem2_marks = [np.random.randint(50, 101) for _ in subjects_sem2]
student = Student(i, name, sem1_marks, sem2_marks)
igdtuw_class.add_student(student)

# Display All Students and Plot Comparison


igdtuw_class.display_all_students()
igdtuw_class.plot_marks_comparison()
Program: Use file handling

import numpy as np
import pandas as pd

# List of student names


student_names = [
"Aarav", "Vivaan", "Diya", "Anaya", "Ishaan", "Avni", "Aadhya", "Arjun", "Riya", "Aryan",
"Kavya", "Ira", "Shaurya", "Nisha", "Reyansh", "Meera", "Advika", "Yuvaan", "Aarohi", "Krish"
]

# Subjects for each semester


semester_1_subjects = ["Data Structures", "Algorithms", "Database Systems", "Operating
Systems", "Computer Networks", "Software Engineering"]
semester_2_subjects = ["Artificial Intelligence", "Machine Learning", "Cyber Security", "Cloud
Computing", "Big Data", "IoT"]

# Semester Class
class Semester:
def __init__(self, semester_num, subjects):
self.semester_num = semester_num
self.subject_marks = {subject: np.random.randint(40, 101) for subject in subjects}

def get_total_marks(self):
return sum(self.subject_marks.values())

def get_average_marks(self):
return np.mean(list(self.subject_marks.values()))

def get_marks(self):
return self.subject_marks

# Student Class
class Student:
def __init__(self, student_id, name):
self.student_id = student_id
self.name = name
self.semester_1 = Semester(1, semester_1_subjects)
self.semester_2 = Semester(2, semester_2_subjects)

def get_total_marks(self):
return self.semester_1.get_total_marks() + self.semester_2.get_total_marks()

def get_average_marks(self):
return (self.semester_1.get_total_marks() + self.semester_2.get_total_marks()) / 2

def get_all_marks(self):
marks = {}
marks.update({f"Sem1_{subject}": mark for subject, mark in
self.semester_1.get_marks().items()})
marks.update({f"Sem2_{subject}": mark for subject, mark in
self.semester_2.get_marks().items()})
return marks

# Generate a DataFrame for the student data


def generate_student_dataframe(students):
student_data = []
for student in students:
student_dict = {
"Student ID": student.student_id,
"Name": student.name,
"Total Marks": student.get_total_marks(),
"Average Marks": student.get_average_marks(),
}
student_dict.update(student.get_all_marks())
student_data.append(student_dict)
return pd.DataFrame(student_data)

# Write student details to a CSV file


def write_student_details_to_file(students, filename):
df = generate_student_dataframe(students)
df.to_csv(filename, index=False)
print(f"Data written to {filename}")

# Read and display the student details from a CSV file


def read_student_details_from_file(filename):
df = pd.read_csv(filename)
print(df)

# Display summary statistics


def display_summary_statistics(students):
df = generate_student_dataframe(students)
print("
Summary Statistics:")
print(df.describe())

# Plot subject-wise and semester-wise comparisons


def plot_data(df):
import matplotlib.pyplot as plt
import seaborn as sns

# Semester-wise total marks comparison


df["Semester 1 Total"] = df[[col for col in df.columns if "Sem1_" in col]].sum(axis=1)
df["Semester 2 Total"] = df[[col for col in df.columns if "Sem2_" in col]].sum(axis=1)

plt.figure(figsize=(10, 6))
sns.barplot(x="Name", y="Semester 1 Total", data=df, color="blue", label="Semester 1")
sns.barplot(x="Name", y="Semester 2 Total", data=df, color="orange", label="Semester 2",
alpha=0.7)
plt.xticks(rotation=90)
plt.ylabel("Total Marks")
plt.title("Total Marks Comparison: Semester 1 vs Semester 2")
plt.legend()
plt.tight_layout()
plt.show()

def main():
# Create 20 students
students = [Student(student_id=i + 1, name=name) for i, name in
enumerate(student_names)]

filename = "student_details.csv"
write_student_details_to_file(students, filename)

# Reading and displaying the student details from the CSV file
print("
Student Details from CSV File:
")
read_student_details_from_file(filename)

display_summary_statistics(students)

df = pd.read_csv(filename)
plot_data(df)

if __name__ == "__main__":
main()

You might also like